我想用tensorflow做一个简单的任务。但我遇到一个错误
import numpy as np
import pandas as pd
fv = tf.Variable(10.0,name="first_var")
sv = tf.Variable(20.0,np.random.randn(),name="second_var")
fvp = tf.placeholder("float32",name="first_fvp",shape=[])
svp = tf.placeholder("float32",name="second_svp",shape=[])
result = tf.Variable(0.0,name="output")
result = np.multiply(fvp,svp)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(result,feed_dict={fvp:fv,svp:sv}))
错误=设置具有序列的数组元素。
在这种情况下,我得到一个错误
如果我使用
print(sess.run(result,feed_dict={fvp:5.0,svp:10.0}))
我得到的输出是50.0
答案 0 :(得分:0)
首先,我仍然不太了解您的问题是什么。看来您已经解决了该错误。请尽可能编辑。
您无法将张量输入该feed_dict
中。
仔细阅读tensorflow/python/client/session.py
。当您向feed_dict={}
馈送一些数据时,可接受的馈送值包括Python标量,字符串,列表,numpy ndarray或TensorHandles。在您的情况下,fv
和sv
是张量。
因此您的第二个print(sess.run(result,feed_dict={fvp:5.0,svp:10.0}))
将起作用。
您还可以尝试fv = np.array([10.0])
,sv = np.array([20.0])
此外,您不需要此result = tf.Variable(0.0,name="output")
,如果要命名输出,可以使用result = tf.identity(np.multiply(fvp,svp), name="output")