• tensor和Variable


    初学tensorflow,有点搞不懂 tensor和Variable的区别,经过思考,得到以下总结!


    目录

    Tensor

    Variable

    总结


    Tensor

    import tensorflow as tf
    
    
    x = tf.random_uniform([3,3])        #创建一个Tensor
    
    with tf.Session() as sess:
        print(type(x))
        y = sess.run(x)
        print(type(y))     #y是一个numpy.ndarray
        print(y)
    sess.close()

    输出: <class 'tensorflow.python.framework.ops.Tensor'>
                <class 'numpy.ndarray'>
                [[0.69635034 0.01574457 0.10151494]
                [0.22572029 0.58939755 0.6667918 ]
                [0.12261796 0.6142607  0.7017566 ]]


    Variable

    import tensorflow as tf
    
    a = tf.Variable(tf.random_uniform([3,3]))
    with tf.Session() as sess_2:
        init_op = tf.initialize_all_variables()
        sess_2.run(init_op)
        print(type(a))
        print(sess_2.run(a))
    
    sess_2.close()

    输出: <class 'tensorflow.python.ops.variables.Variable'>
               [[0.68190384 0.48186898 0.5836265 ]
               [0.7770786  0.28783894 0.60949016]
               [0.5110326  0.1956842  0.12324178]]

    注意:在TensorFlow中,变量的定义和初始化是分开的,所有关于图变量的赋值和计算都要通过tf.Session的run来进行。想要将所有图变量进行集体初始化时应该使用tf.global_variables_initializer


    总结

    Variable和Tensor之间的区别:
    1. Variable是可更改的,而Tensor是不可更改的,比如:Tensor不具有assign函数,而Variable含有;
    2. Variable用于存储网络中的权重矩阵等变量,而Tensor更多的是中间结果等;
    3. Variable是会显示分配内存空间的,需要初始化操作(assign一个tensor),由Session管理,可以进行存储、读取、更改等操作。相反地,诸如Const, Zeros等操作创造的Tensor,是记录在Graph中,所以没有单独的内存空间;而其他未知的由其他Tensor操作得来的Tensor则是只会在程序运行中间出现;

    4.tensor和Variable产生的方式也有所不同;
    5. Tensor可以使用的地方,几乎都可以使用Variable;


    参考文献:https://www.tensorflow.org/programmers_guide/variables 

                     https://www.tensorflow.org/api_docs/python/tf/Variable

    天上我才必有用,千金散尽还复来!
  • 相关阅读:
    中文分词学习整理
    机器学习
    TimSort学习资料
    小段子
    Load和CPU利用率是如何算出来的
    sql server xml 截断
    System.Security.Cryptography.CryptographicException: 系统找不到指定的文件
    优化笔记: jxrsfxrxx_D_20140916.gz
    优化笔记: 此两个产品每天8点30分开始,要跑一个小时,看看是否有提升空间
    优化笔记:pfyhparopenfundinfotest_D_20140916.gz
  • 原文地址:https://www.cnblogs.com/lutaishi/p/13436329.html
Copyright © 2020-2023  润新知