请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

y = W * x_data + b 这个是怎么变成Tensor对象的?

X_data 是普通变量,W,b是图中的变量,这个为什么能计算?y是一个variable还是Op,请老师解释

正在回答 回答被采纳积分+3

1回答

Oscar 2018-04-17 23:38:30

W 和 b 都是 长度为 1 的矢量(vector)。形状(shape)是 (1, )

X_data 是长度为 points_num(例子里是 100)的一个列表数据。 所以 y 的形状是 (100, ) 。

y 是一个计算出来的输出值,它去和 y_data(真实的点的 y 坐标)做误差计算。你可以把 y 看成是一个 operation(操作)也可以看成是一个 tensor(张量),因为它是用 W 和 b 计算出来的值。

你可以在代码里添加例如:

print("y shape : {}".format(y.get_shape()))
print("y type : {}".format(type(y)))
print("y : {}".format(y))

来打印,结果如下:

y shape : (100,)
y type : <class 'tensorflow.python.framework.ops.Tensor'>
y : Tensor("add:0", shape=(100,), dtype=float32)


0 回复 有任何疑惑可以回复我~
  • 老师不明白啊,为什么可以把 y 看成是一个 operation(操作)也可以看成是一个 tensor(张量)?W * x_data + b这行代码在执行的时候是不是不会调用系统的*和+运算符是吗,结果是调用了tf里面的mul() 和add() function是吗?那这两个function返回的是什么类型的object就是什么呗,为什么既是tensor又是operation?
    回复 有任何疑惑可以回复我~ 2018-07-03 21:55:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信