Varibale 使用方法
實例:
實例講解:
首先:
#!/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 的方向)
在這里,需要再次說明:我們此時只是定義好了圖,並沒有變量並沒有初始化。目前只有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
輸出的結果: