Python Can';用张量流进行矩阵乘法
在Tensorflow中,我想使用以下代码进行矩阵乘法:Python Can';用张量流进行矩阵乘法,python,tensorflow,Python,Tensorflow,在Tensorflow中,我想使用以下代码进行矩阵乘法: _X = np.array([[1, 2, 3], [4, 5, 6]]) _Y = np.array([[1, 1], [2, 2], [3, 3]]) X = tf.convert_to_tensor(_X) Y = tf.convert_to_tensor(_Y) res = tf.matmul(X, Y) 但是,我遇到了以下错误: TypeError Traceb
_X = np.array([[1, 2, 3], [4, 5, 6]])
_Y = np.array([[1, 1], [2, 2], [3, 3]])
X = tf.convert_to_tensor(_X)
Y = tf.convert_to_tensor(_Y)
res = tf.matmul(X, Y)
但是,我遇到了以下错误:
TypeError Traceback (most recent call last)
<ipython-input-29-37c04c70cff8> in <module>()
4 Y = tf.convert_to_tensor(_Y)
5
----> 6 res = tf.matmul(X, Y)
/Downloads/tensorflow-exercises-master/lib/python3.5/site-packages/tensorflow/python/ops/math_ops.py in matmul(a, b, transpose_a, transpose_b, adjoint_a, adjoint_b, a_is_sparse, b_is_sparse, name)
1799 else:
1800 return gen_math_ops._mat_mul(
-> 1801 a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
1802
1803
/Downloads/tensorflow-exercises-master/lib/python3.5/site-packages/tensorflow/python/ops/gen_math_ops.py in _mat_mul(a, b, transpose_a, transpose_b, name)
1261 """
1262 result = _op_def_lib.apply_op("MatMul", a=a, b=b, transpose_a=transpose_a,
-> 1263 transpose_b=transpose_b, name=name)
1264 return result
1265
/Downloads/tensorflow-exercises-master/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py in apply_op(self, op_type_name, name, **keywords)
588 _SatisfiesTypeConstraint(base_type,
589 _Attr(op_def, input_arg.type_attr),
--> 590 param_name=input_name)
591 attrs[input_arg.type_attr] = attr_value
592 inferred_from[input_arg.type_attr] = input_name
/Downloads/tensorflow-exercises-master/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py in _SatisfiesTypeConstraint(dtype, attr_def, param_name)
59 "allowed values: %s" %
60 (param_name, dtypes.as_dtype(dtype).name,
---> 61 ", ".join(dtypes.as_dtype(x).name for x in allowed_list)))
62
63
TypeError: Value passed to parameter 'a' has DataType int64 not in list of allowed values: float16, float32, float64, int32, complex64, complex128
TypeError回溯(最近一次调用)
在()
4y=tf。将_转换为_张量(_Y)
5.
---->6 res=tf.matmul(X,Y)
/下载/tensorflow练习master/lib/python3.5/site-packages/tensorflow/python/ops/math_ops.py(a,b,转置a,转置b,伴随a,伴随b,a是稀疏的,b是稀疏的,名称)
1799其他:
1800返回gen\u math\u ops.\u mat\u mul(
->1801 a,b,transpose_a=transpose_a,transpose_b=transpose_b,name=name)
1802
1803
/下载/tensorflow练习master/lib/python3.5/site-packages/tensorflow/python/ops/gen_math_ops.py in_mat_mul(a,b,transpose_a,transpose_b,name)
1261 """
1262结果=_op_def_lib.apply_op(“MatMul”),a=a,b=b,转置a=transpose_a,
->1263转置b=转置b,名称=名称)
1264返回结果
1265
/下载/tensorflow练习master/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py in apply_op(self,op_type_name,name,**关键字)
588满足类型约束(基本类型,
589属性(操作定义,输入参数类型属性),
-->590参数名称=输入名称)
591属性[输入参数类型属性]=属性值
592根据[input_arg.type_attr]=input_name推断出的_
/下载/tensorflow练习master/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py in_SatisfiesTypeConstraint(数据类型、属性定义、参数名称)
59“允许的值:%s”%
60(参数名称,数据类型.as\u数据类型(数据类型).name,
--->61“,”
62
63
TypeError:传递给参数“a”的值的数据类型int64不在允许的值列表中:float16、float32、float64、int32、complex64、complex128
知道代码有什么问题吗?这是
tf.matmul
的文档:
两个矩阵的类型必须相同。支持的类型包括:
float16
,float32
,float64
,int32
,complex64
,complex128
将数据类型更改为支持的数据类型之一可以消除此错误
_X = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int32)
_Y = np.array([[1, 1], [2, 2], [3, 3]], dtype=np.int32)
X = tf.convert_to_tensor(_X)
Y = tf.convert_to_tensor(_Y)
res = tf.matmul(X, Y)
sess = tf.Session()
res.eval(session=sess)
#array([[14, 14],
# [32, 32]], dtype=int32)
以下是
tf.matmul
的文档:
两个矩阵的类型必须相同。支持的类型包括:
float16
,float32
,float64
,int32
,complex64
,complex128
将数据类型更改为支持的数据类型之一可以消除此错误
_X = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int32)
_Y = np.array([[1, 1], [2, 2], [3, 3]], dtype=np.int32)
X = tf.convert_to_tensor(_X)
Y = tf.convert_to_tensor(_Y)
res = tf.matmul(X, Y)
sess = tf.Session()
res.eval(session=sess)
#array([[14, 14],
# [32, 32]], dtype=int32)
你应该阅读我的最新帖子,它正好涵盖了这个例子:你应该阅读我的最新帖子,它正好涵盖了这个例子: