【问题标题】:TypeError: Input 'y' of 'Mul' Op has type float32 that does not match type int32 of argument 'x'TypeError:“Mul”Op 的输入“y”的类型为 float32,与参数“x”的类型 int32 不匹配
【发布时间】:2019-12-31 08:38:41
【问题描述】:

在运行 tensorflow 时出现错误 TypeError: 'Mul' Op 的输入 'y' 的 float32 类型与参数 'x' 的 int32 类型不匹配。

我的代码是

import numpy as np
import pandas as pd
import tensorflow as tf
w = tf.Variable(0, dtype=tf.float32)
cost = tf.add(tf.add(w**2, tf.multiply(-10,w)), 25)
train = tf.train.GradientDescentOptimizer(0.001).minimize(cost)

init = tf.global_variables_initializer()
session = tf.session()
session.run(init)
session.run(w)

我正在运行 1.2.0 版 有很多这样的问题,但不是很好的答案。 你能解释一下什么是hapening吗?提前致谢。

【问题讨论】:

    标签: python-3.x tensorflow tensorflow2.0


    【解决方案1】:

    问题是您试图将一个整数(即 10)和一个浮点变量 (w) 相乘。 TensorFlow 需要输入类型匹配才能进行乘法运算。因此,请确保您对tf.multiplytf.add 的所有输入都是相同的类型。

    换行,

    cost = tf.add(tf.add(w**2, tf.multiply(-10,w)), 25)
    

    cost = tf.add(tf.add(w**2, tf.multiply(-10.0,w)), 25.0)
    

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2021-05-04
      • 2019-08-14
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多