tensorflow变量-【老鱼学tensorflow】

在程序中定义变量很简单,只要定义一个变量名就可以,但是tensorflow有点类似在另外一个世界,因此需要通过当前的世界中跟tensorlfow的世界中进行通讯,来告诉tensorflow的世界中定义了一个变量,这个通讯的空间就是tf类,看个例子就应该能明白:

import tensorflow as tf
state = tf.Variable(0)
print(state.name)

这里定义了一个tensorflow变量,并且设置了一个初始值0,在tensorflow世界中每个变量也有其相应的名字,因此,我们打印一下在tensorflow世界中其相应的名字:
输出为:

Variable:0

这个输出意味着在tensorflow世界中拥有一个变量名为Variable,但是第一个变量,因此索引号为0。
如果我们觉得在tensorflow的世界中这个变量的名字最好有意义一点,那这样我们可以用如下的代码来进行:

import tensorflow as tf
state = tf.Variable(0, name="counter")
print(state.name)

输出为:

counter:0

下面我们想用tensorflow实现类似如下ptyhon代码的功能:

state = 0

for _ in range(3):
    new_value = state + 1
    state = new_value
    print(state)

上面的python代码很简单,就是首先初始化了一个state为0
然后循环3次打印出state+1的值。

输出为:

1
2
3

我们用tensorflow也来实现这样的功能,同原始python程序不同的地方是tensorflow首先定义其程序要执行的结构,然后再通过sess.run()来执行就可以:

import tensorflow as tf
state = tf.Variable(0, name="counter")

one = tf.constant(1)

new_value = tf.add(state, one)
update = tf.assign(state, new_value)

init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for _ in range(3):
    print(sess.run(update))

输出为:

1
2
3
posted @ 2018-01-04 10:19  dreampursuer  阅读(285)  评论(0编辑  收藏  举报