美文网首页
2018-04-24

2018-04-24

作者: 做只小考拉 | 来源:发表于2018-04-24 17:07 被阅读12次

    tensorflow常量变量定义

    import tensorflow as tf
    data1=tf.constant(2.5)#定义常量  浮点型
    data2=tf.Variable(10,name='var')#定义变量
    print(data1)
    print(data2)
    

    此时的运行结果为:

    image
    可以看出它并没有把数据内容打印出来,而是打印出数据的描述信息,第一行描述data1,Tensor是一个张量,张量可暂时理解为一个数据,Const_1 :常量,shape:维度,dtype:数据类型。可对应理解第二行。
    我们看到data1为浮点型数据,那么如何定义定点型数据呢?
    import tensorflow as tf
    data1=tf.constant(2,dtype=tf.int32)#定义常量  定点型
    

    知道了如何定义常量变量后,如何去打印数据内容呢?
    这里我们需要知道tensorflow中所有的操作都必须使用Session会话中执行,所以需要再定义Session

    import tensorflow as tf
    data1=tf.constant(2.5)
    data2=tf.Variable(10,name='var')
    print(data1)
    print(data2)
    sess=tf.Session()##定义Session
    print(sess.run(data1))
    

    运行结果如下(这里不是对运行结果的截图,只是将结果拷贝了过来):

    Tensor("Const_2:0", shape=(), dtype=float32)
    <tf.Variable 'var_2:0' shape=() dtype=int32_ref>
    2.5
    

    然而使用同样的方法print(sess.run(data2))打印data2时会出现错误:

    FailedPreconditionError: Attempting to use uninitialized value var_3
         [[Node: _retval_var_3_0_0 = _Retval[T=DT_INT32, index=0, _device="/job:localhost/replica:0/task:0/device:CPU:0"](var_3)]]
    

    这时我们就要知道在tensorflow中所有的变量都需要使用Session会话进行初始化

    data2=tf.Variable(10,name='var')
    init=tf.global_variables_initializer()#初始化
    sess.run(init)
    print(sess.run(data2))
    

    如此便可打印变量的数据内容。

    相关文章

      网友评论

          本文标题:2018-04-24

          本文链接:https://www.haomeiwen.com/subject/qyyjlftx.html