1. 程式人生 > >Tensorflow(二)--Tensorflow變數管理

Tensorflow(二)--Tensorflow變數管理

import tensorflow as tf
#用於簡化函式引數,直接通過名稱空間+變數名獲取已有變數
v2=tf.get_variable("v",[1])  #不報錯,相當於variable_scope為“”
#v3=tf.get_variable("v",[1]) 報錯已存在
#with tf.variable_scope(reuse=True):
#    v4=tf.get_variable("v",[1])
print(v2)
v5=tf.get_variable("cur/v",[1],initializer=tf.truncated_normal_initializer())  #這種方式建立的變數等效於名稱空間中建立,估計實質是在變數前加上了名稱空間字串
with tf.variable_scope("cur",reuse=True):
    v6=tf.get_variable("v",[1],initializer=tf.truncated_normal_initializer()) #訪問的方式是通過除去“名稱空間/”後的變數名訪問
    print(v5==v6)
with tf.variable_scope("root"):
    v=tf.get_variable("v",[1])
print(v)
with tf.variable_scope("root",reuse=True):
    v1=tf.get_variable("v",[1])
    print(v1)
    print(v1==v)

variable_scope函式的功能可以簡單理解:

1.如果reuse為false,在with作用域內get_variable函式建立的變數名稱前面加名稱空間的名稱;

2.如果reuse為true,在with作用域裡面get_variable函式獲得已有變數。