TypeError: Input 'y' of 'Add' Op has type float32 that does not match type int32 of argument 'x'.
阿新 • • 發佈:2018-12-01
學習Python,碰到資料型別不一致進行運算出現的問題,問題現象、原因、解決辦法如下。
1、問題程式碼
# 引入 tensorflow 模組 import tensorflow as tf # 建立兩個常量節點 node1 = tf.constant([2,5], dtype=tf.int32) node2 = tf.constant([1,2], dtype=tf.float32) #建立add節點,實現上面2個節點的加操作 adder = node1 + node2 #列印3個節點 print(node1) print(node2) print(adder) # 列印 adder 執行後的結果 sess = tf.Session() print(sess.run(adder))
問題現象:
2、問題原因
node1資料型別是int,但node2資料型別是float
3、解決辦法
# 引入 tensorflow 模組 import tensorflow as tf # 建立兩個常量節點 node1 = tf.constant([2,5], dtype=tf.float32) node2 = tf.constant([1,2], dtype=tf.float32) #建立add節點,實現上面2個節點的加操作 adder = node1 + node2 #列印3個節點 print(node1) print(node2) print(adder) # 列印 adder 執行後的結果 sess = tf.Session() print(sess.run(adder))
正確執行結果: