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

来源:4-15 综合小练习:梯度下降解决线性回归(中)

birdskyws

2018-04-08

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

写回答

1回答

Oscar

2018-04-17

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
1
xue109196
老师不明白啊,为什么可以把 y 看成是一个 operation(操作)也可以看成是一个 tensor(张量)?W * x_data + b这行代码在执行的时候是不是不会调用系统的*和+运算符是吗,结果是调用了tf里面的mul() 和add() function是吗?那这两个function返回的是什么类型的object就是什么呗,为什么既是tensor又是operation?
2018-07-03
共1条回复

基于Python玩转人工智能最火框架 TensorFlow应用实践

机器学习入门,打牢TensorFlow框架应用是关键!

2214 学习 · 688 问题

查看课程