欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TensorFlow變量管理詳解

 更新時(shí)間:2018年03月10日 08:34:48   作者:marsjhao  
這篇文章主要為大家詳細(xì)介紹了TensorFlow變量管理的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、TensorFlow變量管理

1. TensorFLow還提供了tf.get_variable函數(shù)來(lái)創(chuàng)建或者獲取變量,tf.variable用于創(chuàng)建變量時(shí),其功能和tf.Variable基本是等價(jià)的。tf.get_variable中的初始化方法(initializer)的參數(shù)和tf.Variable的初始化過(guò)程也類似,initializer函數(shù)和tf.Variable的初始化方法是一一對(duì)應(yīng)的,詳見下表。

tf.get_variable和tf.Variable最大的區(qū)別就在于指定變量名稱的參數(shù)。對(duì)于tf.Variable函數(shù),變量名稱是一個(gè)可選的參數(shù),通過(guò)name=”v”的形式給出,對(duì)于tf.get_variable函數(shù),變量名稱是一個(gè)必填的參數(shù),tf.get_variable會(huì)根據(jù)這個(gè)名稱去創(chuàng)建或者獲取變量。

2. 通過(guò)tf.variable_scope函數(shù)可以控制tf.get_variable函數(shù)的語(yǔ)義。當(dāng)tf.variable_scope函數(shù)的參數(shù)reuse=True生成上下文管理器時(shí),該上下文管理器內(nèi)的所有的tf.get_variable函數(shù)會(huì)直接獲取已經(jīng)創(chuàng)建的變量,如果變量不存在則報(bào)錯(cuò);當(dāng)tf.variable_scope函數(shù)的參數(shù)reuse=False或者None時(shí)創(chuàng)建的上下文管理器中,tf.get_variable函數(shù)則直接創(chuàng)建新的變量,若同名的變量已經(jīng)存在則報(bào)錯(cuò)。

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

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

二、TensorFlow編程演示

import tensorflow as tf 
 
# 在名字為foo的命名空間內(nèi)創(chuàng)建名字為v的變量 
with tf.variable_scope("foo"): 
  v = tf.get_variable("v", [1], initializer=tf.constant_initializer(1.0)) 
 
''''' 
# 因?yàn)槊臻gfoo內(nèi)已經(jīng)存在變量v,再次創(chuàng)建則報(bào)錯(cuò) 
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? 
''' 
# 將參數(shù)reuse參數(shù)設(shè)置為True,則tf.get_variable可直接獲取已聲明的變量 
with tf.variable_scope("foo", reuse=True): 
  v1 = tf.get_variable("v", [1]) 
  print(v == v1) # True 
 
''''' 
# 當(dāng)reuse=True時(shí),tf.get_variable只能獲取指定命名空間內(nèi)的已創(chuàng)建的變量 
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"): 
  # 通過(guò)tf.get_variable_scope().reuse函數(shù)獲取當(dāng)前上下文管理器內(nèi)的reuse參數(shù)取值 
  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內(nèi)的bar1內(nèi)未指定reuse參數(shù),則保持與外層一致 
      print(tf.get_variable_scope().reuse) # True 
 
  print(tf.get_variable_scope().reuse) # False 
 
# tf.variable_scope函數(shù)提供了一個(gè)管理變量命名空間的方式 
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 
 
# 可直接通過(guò)帶命名空間名稱的變量名來(lái)獲取其命名空間下的變量 
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 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Python創(chuàng)建位置生成器的示例詳解

    利用Python創(chuàng)建位置生成器的示例詳解

    在這篇文章中,我們將探索如何利用Python在美國(guó)各地城市的地圖數(shù)據(jù)和公共電動(dòng)自行車訂閱源上訓(xùn)練一個(gè)快速生成的對(duì)抗網(wǎng)絡(luò)(GAN)模型,需要的可以參考一下
    2022-06-06
  • python指定寫入文件時(shí)的編碼格式方法

    python指定寫入文件時(shí)的編碼格式方法

    今天小編就為大家分享一篇python指定寫入文件時(shí)的編碼格式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 分享十個(gè)Python超級(jí)好用提高工作效率的自動(dòng)化腳本

    分享十個(gè)Python超級(jí)好用提高工作效率的自動(dòng)化腳本

    在這個(gè)自動(dòng)化時(shí)代,我們有很多重復(fù)無(wú)聊的工作要做。?想想這些你不再需要一次又一次地做的無(wú)聊的事情,讓它自動(dòng)化,讓你的生活更輕松。本文分享了10個(gè)Python自動(dòng)化腳本,希望對(duì)大家有所幫助
    2022-11-11
  • Python高并發(fā)和多線程有什么關(guān)系

    Python高并發(fā)和多線程有什么關(guān)系

    這篇文章主要介紹了Python高并發(fā)和多線程有什么關(guān)系,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python實(shí)現(xiàn)得到一個(gè)給定類的虛函數(shù)

    python實(shí)現(xiàn)得到一個(gè)給定類的虛函數(shù)

    這篇文章主要介紹了python實(shí)現(xiàn)得到一個(gè)給定類的虛函數(shù)的方法,以wx的PyPanel類為例講述了打印以base_開頭的方法的實(shí)例,需要的朋友可以參考下
    2014-09-09
  • 基于Python如何使用AIML搭建聊天機(jī)器人

    基于Python如何使用AIML搭建聊天機(jī)器人

    AIML,全名為Artificial Intelligence Markup Language(人工智能標(biāo)記語(yǔ)言),是一種創(chuàng)建自然語(yǔ)言軟件代理的XML語(yǔ)言,是由Richard Wallace和世界各地的自由軟件社區(qū)在1995年至2002年發(fā)明的,通過(guò)本文給大家介紹基于Python如何使用AIML搭建聊天機(jī)器人,需要的朋友一起學(xué)習(xí)
    2016-01-01
  • Python?selenium把歌詞評(píng)論做成詞云圖

    Python?selenium把歌詞評(píng)論做成詞云圖

    大家好,本篇文章主要講的是Python?selenium把歌詞評(píng)論做成詞云圖,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Python文件的應(yīng)用之序列化與反序列化詳解

    Python文件的應(yīng)用之序列化與反序列化詳解

    為了簡(jiǎn)化數(shù)據(jù)類型的寫入和獲取,今天我們來(lái)學(xué)習(xí)一個(gè)新的知識(shí)點(diǎn)——序列化。通過(guò)學(xué)習(xí)序列化,可以不必過(guò)分擔(dān)心寫入文件的數(shù)據(jù)類型是什么,并且讀取文件也可以非常輕松的還原數(shù)據(jù)類型。感興趣的可以了解一下
    2022-03-03
  • Python利用AutoGrad實(shí)現(xiàn)自動(dòng)計(jì)算函數(shù)斜率和梯度

    Python利用AutoGrad實(shí)現(xiàn)自動(dòng)計(jì)算函數(shù)斜率和梯度

    AutoGrad 是一個(gè)老少皆宜的 Python 梯度計(jì)算模塊。對(duì)于大學(xué)生、機(jī)器學(xué)習(xí)愛好者而言,你只需要傳遞給它Numpy這樣的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)下編寫的損失函數(shù),它就可以自動(dòng)計(jì)算損失函數(shù)的導(dǎo)數(shù)(梯度)。本文將從普通斜率計(jì)算開始,介紹到如何只使用它來(lái)實(shí)現(xiàn)一個(gè)邏輯回歸模型
    2022-07-07
  • Python生成字符視頻的實(shí)現(xiàn)示例

    Python生成字符視頻的實(shí)現(xiàn)示例

    在之前也寫過(guò)生成字符視頻的文章,但是使用的是命令行窗口輸出,效果不是很好,而且存在卡頓的情況,所以本文介紹了mp4的字符視頻,感興趣的可以了解一下
    2021-05-05

最新評(píng)論