1.Tensorflow中的tensor是不可变无状态对象.
机器学习模型需要可改变状态,比如模型训练和模型预测的代码是相同的,但变量值随着时间而不同(希望尽量小的loss),为了因对随着计算而改变的状态,可以利用Python的状态可变性。
2.Tensorflow,拥有内建可变状态操作,比使用底层Python状态表示更常见。
比如表示模型的权重,使用Tensorflow变量更方便高效。
变量是一个对象,这个对象存储着数值,当在Tensorflow计算中使用时,会隐式的读取这个存储的数值。
有一些操作(tf.assign_sub,tf.scatter_update等)会复制Tensorflow变量存储的数值。
3.计算梯度时,会自动跟踪使用变量的计算过程。
用变量来表示向量时TensorFlow会默认使用稀疏更新,这样可以带来计算和存储高效性。
使用变量也是一种更快的提醒方式,就是代码的这部分是状态可分的???
4.创建和训练一个简单的模型,一般需要下面这些步骤:
1.定义模型
2.定义损失函数
3.获取训练数据
4.通过训练数运行模型,使用“optimizer”来调整变量来满足数据