TensorFlow1.x入門(2)——變量的定義及其操作

系列文章

本教程有同步的github地址

0. 統領篇

1. 計算圖的創建與啓動

2. 變量的定義及其操作

3. Feed與Fetch

4. 線性迴歸

5. 構建非線性迴歸模型

6. 簡單分類問題

7. Dropout與優化器

8. 手動調整學習率與TensorBoard

9. 卷積神經網絡(CNN)

10. 循環神經網絡(RNN)

11. 模型的保存與恢復

變量的定義及其操作

知識點

變量:顧名思義就是可以變化的量,與之對應的是常量,常量在程序運行期間是不可以變的。
TensorFlow中的變量的含義與Python中變量的含義類似,都是用於存放數據的單位。

tf.Variable([1,2])代表定義了一個變量,並且賦值[1, 2]。
tf.subtract(x, y)代表減法操作,即x - y
tf.add(x, y)代表加法操作,即x + y
tf.assign(state, add_one)代表賦值操作,即將add_one賦值給state

示例

#%% md
# 變量的定義及其操作
#%% md
導包
#%%
import tensorflow as tf
#%% md
創建變量x
#%%
x = tf.Variable([1,2])
#%%
x
#%% md
創建常量y
#%%
y = tf.constant([3, 3])
#%%
y
#%% md
創建減法操作
#%%
sub = tf.subtract(x, y)
#%%
sub
#%% md
創建加法操作
#%%
add = tf.add(x, y)
#%%
add
#%% md
全部變量進行初始化
#%%
init = tf.global_variables_initializer()
#%%
init
#%% md
創建會話Sess輸出結果
#%%
with tf.Session() as sess:
    init_res = sess.run(init)
    sub_res, add_res = sess.run([sub, add])
#%% md
`init_res`沒有輸出結果爲None
#%%
init_res, type(init_res)
#%%
sub_res
#%%
add_res
#%% md
## 實現數值的自增
#%% md
定義變量state
#%%
state = tf.Variable(0, name="counter")
#%%
state
#%% md
定義自增操作
#%%
add_one = tf.add(state, 1)
#%%
add_one
#%% md
定義賦值操作
#%%
update = tf.assign(state, add_one)
#%%
update
#%% md
初始化全部變量
#%%
init = tf.global_variables_initializer()
#%% md
定義會話進行結果的計算與輸出
#%%
with tf.Session() as sess:
    sess.run(init)
    state_res = sess.run(state)
    print(state_res)
    for _ in range(5):
#         add_one_res = sess.run(add_one)
        update_res = sess.run(update)
        state_res = sess.run(state)
#         print(add_one_res)
#         print(update_res)
        print(state_res)
#%%

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章