ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32
ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32
我收到以下错误
ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32: 'Tensor("Placeholder_1:0", shape=TensorShape([Dimension(128), Dimension(2)]), dtype=int32)'
当我尝试计算交叉熵损失时
losses = tf.nn.softmax_cross_entropy_with_logits(scores, input_y)
我用的是Python3.4.3。
知道为什么吗?
听起来您已经将 input_y
(我假设是 tf.placeholder()
)定义为类型 tf.int32
。将其更改为 tf.float32
或添加 cast:tf.cast(input_y, tf.float32)
或 tf.to_float(input_y)
.
我将代码中的 %tensorflow_version 1.x
替换为 !pip install tensorflow==1.15.5
,错误消失了。不仅限于版本 1.15.5,它也适用于其他一些 TensorFlow 版本 1。
我收到以下错误
ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32: 'Tensor("Placeholder_1:0", shape=TensorShape([Dimension(128), Dimension(2)]), dtype=int32)'
当我尝试计算交叉熵损失时
losses = tf.nn.softmax_cross_entropy_with_logits(scores, input_y)
我用的是Python3.4.3。
知道为什么吗?
听起来您已经将 input_y
(我假设是 tf.placeholder()
)定义为类型 tf.int32
。将其更改为 tf.float32
或添加 cast:tf.cast(input_y, tf.float32)
或 tf.to_float(input_y)
.
我将代码中的 %tensorflow_version 1.x
替换为 !pip install tensorflow==1.15.5
,错误消失了。不仅限于版本 1.15.5,它也适用于其他一些 TensorFlow 版本 1。