Tensorflow中关于Tensor和Variable的理解
tensorflow
一个面向所有人的开源机器学习框架
项目地址:https://gitcode.com/gh_mirrors/te/tensorflow
免费下载资源
·
刷课过程中思考到Variable和Tensor之间的区别,尝试发现在如下代码中:
a = tf.Variable(tf.ones(1))
b = tf.add(a,tf.ones(1))
a是Variable,而b是Tensor。发现自己对Variable和Tensor之间的区分了解不多,所以搜索了一下,记录自己的思考,欢迎指教。
- Variable是可更改的(mutable),而Tensor是不可更改的。一个直接的例子就是Tensor不具有assign函数,而Variable含有。
- python和其他语言的API以及实现方式存在差异,本文只探讨general以及python方面的内容。
- Variable用于存储网络中的权重矩阵等变量,而Tensor更多的是中间结果等。
- Variable是会显示分配内存空间的(既可以是内存,也可以是显存),需要初始化操作(assign一个tensor),由Session管理,可以进行存储、读取、更改等操作。相反地,诸如Const, Zeros等操作创造的Tensor,是记录在Graph中,所以没有单独的内存空间;而其他未知的由其他Tensor操作得来的Tensor则是只会在程序运行中间出现。
- Tensor可以使用的地方,几乎都可以使用Variable。
参考资料:
https://stackoverflow.com/questions/37849322/how-to-understand-the-term-tensor-in-tensorflow
https://stackoverflow.com/questions/40866675/implementation-difference-between-tensorflow-variable-and-tensorflow-tensor
https://stackoverflow.com/questions/38556078/in-tensorflow-what-is-the-difference-between-a-variable-and-a-tensor
https://www.tensorflow.org/programmers_guide/variables
https://www.tensorflow.org/api_docs/python/tf/Variable
GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2
PiperOrigin-RevId: 663726708
2 个月前
91dac11a
This test overrides disabled_backends, dropping the default
value in the process.
PiperOrigin-RevId: 663711155
2 个月前
更多推荐
已为社区贡献10条内容
所有评论(0)