TensorFlow之Variable 使用方法

 

Varibale 使用方法

实例:

clip_image002

实例讲解:

首先:

#!/usr/bin/env python

这句话是指定python的运行环境,这种指定方式有两种,一种是指定python的路径---#!/usr/bin/python (这里需要说明的是: “/usr/bin/python”是python的安装路径) , 我用的是ubuntu14.0.4 这个版本中的含有env变量,记载着环境变量,所以也可以这样写。

#-*-coding:UTF-8-*-

这句话是指定*.py的编码方式,如果文件中涉及到中文汉字的话,有必要写一下这句话。当然也可以这样写:encoding:UTF-8

import tensorflow as tf

这句话是导入tensorflow 模块

state = tf.Variable(0 , name='counter')

使用tensorflow在默认的图中创建节点,这个节点是一个变量。

one = tf.constant(1)

此处调用了td的一个函数,用于创建常量。

new_value = tf.add(state,one)

对常量与变量进行简单的加法操作,这点需要说明的是: 在TensoorFlow中,所有的操作op,变量都视为节点,tf.add() 的意思就是在tf的默认图中添加一个op,这个op是用来做加法操作的。

update = tf.assign(state,new_value)

这个操作是:赋值操作。将new_value的值赋值给update变量。

好了,到此为止。我们的“图flow”构建好了。

大致是这样的:

(注意流动flow 的方向)

clip_image004

在这里,需要再次说明:我们此时只是定义好了图,并没有变量并没有初始化。目前只有state的值是1。

init = tf.initialize_all_variables()

此处用于初始化变量。但是这句话仍然不会立即执行。需要通过sess来将数据流动起来 。

切记:所有的运算都应在在session中进行:

with tf.Session() as sess:

此处自动开启一个session

sess.run(init)

对变量进行初始化,执行(run)init语句

for _ in range(3):
   sess.run(update)
   print(sess.run(state))

循环3次,并且打印输出。

总结与体会:

1. TensorFlow与我们正常的编程思维略有不同:TensorFlow中的语句不会立即执行;而是等到开启会话session的时候,才会执行session.run()中的语句。如果run中涉及到其他的节点,也会执行到。

2. Tesorflow模型中的所有的节点都是可以视为运算操作op或tensor

输出的结果:

clip_image006

posted @ 2016-06-07 10:37  修雨轩陈  阅读(43307)  评论(5编辑  收藏  举报