我有以下代码:
_X = np.arange(1, 7).reshape((2, 3)) _Y = np.arange(1, 7).reshape((3, 2)) X = tf.convert_to_tensor(_X) Y = tf.convert_to_tensor(_Y) # Matrix multiplication out1 = tf.matmul(X, Y)
为此,我收到此错误:
TypeError: Value passed to parameter 'a' has DataType int64 not in list of allowed values: float16, float32, float64, int32, complex64, complex128
我正在使用最新版本的Tensorflow。可能是什么问题?
tf.matmul的输入仅接受以下dtypes:
a: Tensor of type float16, float32, float64, int32, complex64, complex128 and rank > 1.
将X和Y的dtype更改为上述dtype即可。
import tensorflow as tf import numpy as np _X = np.arange(1, 7).reshape((2, 3)) _Y = np.arange(1, 7).reshape((3, 2)) X = tf.convert_to_tensor(_X,dtype=tf.int32) Y = tf.convert_to_tensor(_Y,dtype=tf.int32) # Matrix multiplication out1 = tf.matmul(X, Y) sess = tf.Session() print(sess.run(out1))