TypeError:传递给参数'a'的值使DataType不在允许值列表中(TypeError: Value passed to parameter 'a' has DataType not in list of allowed values)
我有以下代码:
_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。 可能是什么问题?
I have the following code:
_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)For it, I am getting this error:
TypeError: Value passed to parameter 'a' has DataType int64 not in list of allowed values: float16, float32, float64, int32, complex64, complex128I am using the latest version of Tensorflow. What could be the issue?
最满意答案
输入到tf.matmul只接受这些dtypes:
a: Tensor of type float16, float32, float64, int32, complex64, complex128 and rank > 1.将X和Y的dtype更改为上面的dtypes有效。
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))Inputs to tf.matmul accepts only these dtypes :
a: Tensor of type float16, float32, float64, int32, complex64, complex128 and rank > 1.Changing dtype of X and Y to above dtypes works.
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))更多推荐
发布评论