TensorFlow之Varibale 使用方法

Posted 修雨轩陈

tags:

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

-------------------------------------------

转载请注明: 来自博客园

xiuyuxuanchen

地址:http://www.cnblogs.com/greentomlee/

-------------------------------------------

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

以上是关于TensorFlow之Varibale 使用方法的主要内容,如果未能解决你的问题,请参考以下文章

教程|自然语言处理技术之TensorFlow学习框架详解

如何使 TensorFlow Hub 模型为 TensorFlow Serving REST 请求做好准备(使用 base64 编码图像)?

如何使TensorFlow使用100%的GPU?

中间层使 tensorflow 优化器停止工作

[学习笔记] TensorFlow 入门之基本使用

TensorFlow 之创建交互式 TensorFlow 会话