91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TensorFlow變量管理的示例分析

發布時間:2021-08-30 13:53:22 來源:億速云 閱讀:206 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關TensorFlow變量管理的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、TensorFlow變量管理

1. TensorFLow還提供了tf.get_variable函數來創建或者獲取變量,tf.variable用于創建變量時,其功能和tf.Variable基本是等價的。tf.get_variable中的初始化方法(initializer)的參數和tf.Variable的初始化過程也類似,initializer函數和tf.Variable的初始化方法是一一對應的,詳見下表。

TensorFlow變量管理的示例分析

tf.get_variable和tf.Variable最大的區別就在于指定變量名稱的參數。對于tf.Variable函數,變量名稱是一個可選的參數,通過name=”v”的形式給出,對于tf.get_variable函數,變量名稱是一個必填的參數,tf.get_variable會根據這個名稱去創建或者獲取變量。

2. 通過tf.variable_scope函數可以控制tf.get_variable函數的語義。當tf.variable_scope函數的參數reuse=True生成上下文管理器時,該上下文管理器內的所有的tf.get_variable函數會直接獲取已經創建的變量,如果變量不存在則報錯;當tf.variable_scope函數的參數reuse=False或者None時創建的上下文管理器中,tf.get_variable函數則直接創建新的變量,若同名的變量已經存在則報錯。

3. 另tf.variable_scope函數是可以嵌套使用的。嵌套的時候,若某層上下文管理器未聲明reuse參數,則該層上下文管理器的reuse參數與其外層保持一致。

4.tf.variable_scope函數提供了一個管理變量命名空間的方式。在tf.variable_scope中創建的變量,名稱.name中名稱前面會加入命名空間的名稱,并通過“/”來分隔命名空間的名稱和變量的名稱。tf.get_variable("foou/baru/u", [1]),可以通過帶命名空間名稱的變量名來獲取其命名空間下的變量。

二、TensorFlow編程演示

import tensorflow as tf 
 
# 在名字為foo的命名空間內創建名字為v的變量 
with tf.variable_scope("foo"): 
  v = tf.get_variable("v", [1], initializer=tf.constant_initializer(1.0)) 
 
''''' 
# 因為命名空間foo內已經存在變量v,再次創建則報錯 
with tf.variable_scope("foo"): 
  v = tf.get_variable("v", [1]) 
# ValueError: Variable foo/v already exists, disallowed. 
# Did you mean to set reuse=True in VarScope? 
''' 
# 將參數reuse參數設置為True,則tf.get_variable可直接獲取已聲明的變量 
with tf.variable_scope("foo", reuse=True): 
  v1 = tf.get_variable("v", [1]) 
  print(v == v1) # True 
 
''''' 
# 當reuse=True時,tf.get_variable只能獲取指定命名空間內的已創建的變量 
with tf.variable_scope("bar", reuse=True): 
  v2 = tf.get_variable("v", [1]) 
# ValueError: Variable bar/v does not exist, or was not created with 
# tf.get_variable(). Did you mean to set reuse=None in VarScope? 
''' 
 
with tf.variable_scope("root"): 
  # 通過tf.get_variable_scope().reuse函數獲取當前上下文管理器內的reuse參數取值 
  print(tf.get_variable_scope().reuse) # False 
 
  with tf.variable_scope("foo1", reuse=True): 
    print(tf.get_variable_scope().reuse) # True 
 
    with tf.variable_scope("bar1"): 
      # 嵌套在上下文管理器foo1內的bar1內未指定reuse參數,則保持與外層一致 
      print(tf.get_variable_scope().reuse) # True 
 
  print(tf.get_variable_scope().reuse) # False 
 
# tf.variable_scope函數提供了一個管理變量命名空間的方式 
u1 = tf.get_variable("u", [1]) 
print(u1.name) # u:0 
with tf.variable_scope("foou"): 
  u2 = tf.get_variable("u", [1]) 
  print(u2.name) # foou/u:0 
 
with tf.variable_scope("foou"): 
  with tf.variable_scope("baru"): 
    u3 = tf.get_variable("u", [1]) 
    print(u3.name) # foou/baru/u:0 
 
  u4 = tf.get_variable("u1", [1]) 
  print(u4.name) # foou/u1:0 
 
# 可直接通過帶命名空間名稱的變量名來獲取其命名空間下的變量 
with tf.variable_scope("", reuse=True): 
  u5 = tf.get_variable("foou/baru/u", [1]) 
  print(u5.name) # foou/baru/u:0 
  print(u5 == u3) # True 
  u6 = tf.get_variable("foou/u1", [1]) 
  print(u6.name) # foou/u1:0 
  print(u6 == u4) # True

感謝各位的閱讀!關于“TensorFlow變量管理的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜南县| 九龙城区| 平利县| 三都| 景洪市| 林口县| 格尔木市| 庄河市| 固阳县| 灵丘县| 建始县| 民丰县| 南木林县| 大兴区| 西充县| 铜鼓县| 交城县| 微山县| 华坪县| 武清区| 乳山市| 电白县| 手机| 乌兰察布市| 黑龙江省| 红河县| 美姑县| 乌什县| 庄浪县| 奉化市| 广德县| 农安县| 泰来县| 石家庄市| 威海市| 密山市| 青海省| 三穗县| 华坪县| 江阴市| 五家渠市|