tf.variable_scope和tf.name_scope的用法
生活随笔
收集整理的這篇文章主要介紹了
tf.variable_scope和tf.name_scope的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
tf.variable_scope可以讓不同命名空間中的變量取相同的名字,無論tf.get_variable或者tf.Variable生成的變量
tf.name_scope具有類似的功能,但只限于tf.Variable生成的變量
import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; with tf.variable_scope('V1'): a1 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a2 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.variable_scope('V2'): a3 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a4 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.Session() as sess: sess.run(tf.initialize_all_variables()) print a1.name print a2.name print a3.name print a4.name 輸出: V1/a1:0 V1/a2:0 V2/a1:0 V2/a2:0 import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; with tf.name_scope('V1'): a1 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a2 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.name_scope('V2'): a3 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a4 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.Session() as sess: sess.run(tf.initialize_all_variables()) print a1.name print a2.name print a3.name print a4.name 報錯:Variable a1 already exists, disallowed. Did you mean to set reuse=True in VarScope? import tensorflow as tf; import numpy as np; import matplotlib.pyplot as plt; with tf.name_scope('V1'): # a1 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a2 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.name_scope('V2'): # a3 = tf.get_variable(name='a1', shape=[1], initializer=tf.constant_initializer(1)) a4 = tf.Variable(tf.random_normal(shape=[2,3], mean=0, stddev=1), name='a2') with tf.Session() as sess: sess.run(tf.initialize_all_variables()) # print a1.name print a2.name # print a3.name print a4.name 輸出: V1/a2:0 V2/a2:0
作者:Perry_Wu
鏈接:https://www.jianshu.com/p/3d2ff00edcef
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。
總結
以上是生活随笔為你收集整理的tf.variable_scope和tf.name_scope的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorlfow.saved_mod
- 下一篇: gpu无法调用解决方案记录