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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM