我试着和tensorflow一起玩,但是我好像做错了什么,我做的那个小程序:
import tensorflow as tf
x = tf.placeholder(tf.float64)
y = tf.placeholder(tf.float64)
test = {"A":tf.Variable(tf.random_normal([20, 20])),
"B":tf.Variable(tf.random_normal([20, 20]))}
math_stuff = tf.matmul(x,y)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(math_stuff, feed_dict={x:test["A"], y:test["B"]}))我希望看到两个20x20随机数组的tf.matmul(x,y)结果。它向我抛出的错误:
Traceback (most recent call last):
File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\save\tensorflow_play.py",
line 15, in <module> print(sess.run(math_stuff, feed_dict={x:test["A"], y:test["B"]}))
File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py",
line 889, in run run_metadata_ptr)
File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py",
line 1089, in _run np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\core\numeric.py",
line 531, in asarray return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.发布于 2018-01-07 14:43:35
feed_dict应该包含数值,而不是 tf.Variable。将test的定义替换为:
test = {"A":np.random.randn(20,20),
"B":np.random.randn(20,20)}当然,您也应该在开始时使用import numpy as np。然后,代码会按照您的意愿进行操作。
关于更多的解释,您可以将feed_dict看作是给计算图的数值,而不是计算图的一部分(就像tf.Variable那样)。
https://stackoverflow.com/questions/48138218
复制相似问题