【发布时间】:2017-06-23 13:21:30
【问题描述】:
我从 tensorflow 开始,当涉及到张量的等级以及它们如何相互作用时,我遇到了一个大问题。
我有以下代码:
w = tf.Variable(tf.constant([0.2,0.6]))
x = tf.placeholder(tf.float32)
y = w * x
如您所见,这是一个非常简单的设置。
但是,当我执行print w 时,输出为Tensor("Variable_13/read:0", shape=(2,), dtype=float32)。shape(2,) 是什么意思?逗号表示什么?
此外,这是sess = tf.Session() 和初始化变量之后的其他痛点:
print(sess.run(y,{x:[1,2]}))
[0.2 1.20000005]
print(sess.run(y,{x:[1]}))
[0.2 0.60000002]
print(sess.run(y,{x:[[1],[2]]}))
[[ 0.2 0.60000002]
[0.40000001 1.20000005]]
为什么我会出现如此多样的行为? tensorflow 如何确定单个数据点?我现在意识到,在声明占位符的同时指定形状可能比让自己陷入困境要好。
我理解最后两个案例,因为它们是在课堂上教授的,但我无法解释第一个案例的行为。
【问题讨论】:
标签: python tensorflow rank tensor