tensorflow变量的使用(02-2)

Posted go-ahead-wsg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow变量的使用(02-2)相关的知识,希望对你有一定的参考价值。

import tensorflow as tf

x=tf.Variable([1,2])
a=tf.constant([3,3])

sub=tf.subtract(x,a)    #增加一个减法op
add=tf.add(x,sub)   #增加一个加法op

#注意变量再使用之前要再sess中做初始化,但是下边这种初始化方法不会指定变量的初始化顺序
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))


#################分割线#####################
#创建一个名字为‘counter’的变量 初始化0
state=tf.Variable(0,name=‘counter‘)
new_value=tf.add(state,1)   #创建一个op,作用是使state加1
update=tf.assign(state,new_value)  #赋值op
init=tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))
    for _ in range(5):
        sess.run(update)
        print(sess.run(state))

看上边的代码,你会注意到与普通的变成有些区别:

  1. tensorflow中会用到init=tf.global_variables_initializer(),这种变量初始化的东西,但是明明在上边定义的时候已经初始化了啊,哈哈,这只能说你在python中确实初始化了,但是在tf的session中你并没有初始化;
  2. update=tf.assign(state,new_value) 赋值操作,直接用接口而不是用等号,这也就说明tensorflow不是用python实现的,是有c++实现的,你如果想把python中的值在session中修改,必须要用这种接口的方式。

以上是关于tensorflow变量的使用(02-2)的主要内容,如果未能解决你的问题,请参考以下文章

手写数字识别——基于全连接层和MNIST数据集

tensorflow 保存变量,

tensorflow变量初始化问题? 如图,在代码中我已经初始化了变量,为啥还提示未初始化变量

TensorFlow.js:那两个张量相等吗?

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

TensorFlow:变量初始化中的“尝试使用未初始化的值”