Tensorflow(二)--Tensorflow變數管理
阿新 • • 發佈:2018-12-16
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函式獲得已有變數。