中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Tensorflow 自定義loss的情況下初始化部分變量方式

發布時間:2020-09-17 19:25:04 來源:腳本之家 閱讀:204 作者:I_will_____ 欄目:開發技術

一般情況下,tensorflow里面變量初始化過程為:

  #variables ...........
  #..................... 
  init = tf.initialize_all_variables()
  sess.run(init)

這里 tf.initialize_all_variables() 會初始化所有的變量。

實際過程中,假設有a, b, c三個變量,其中a已經被初始化了,只想單獨初始化b,c,那么:

  #variables ...
  ...
  init = tf.variables_initializer([b,c])
  sess.run(init)

此外,如果自行修改了optimizer,如下代碼就會報錯:

  #definition of variables a, b, c ...
  ....
  my_optimizer = tf.train.RMSProp(learning_rate = 0.1).minimize(my_cost)
  init = tf.variables_initializer([b,c])
  sess.run(init)

這是因為自己定義的optimizer會生成新的variables,但是在init里面并沒有初始化,所以無法訪問,會報錯。解決方法如下:

  a = tf.Variables(...)      #line N
  temp = set(tf.all_variables()) 
  b = tf.Variables(...)
  c = tf.Variables(...) 
  #definition of my optimizer
  optimizer = tf.train.......
  init = tf.variables_initializer(set(tf.all_varialbles())-temp) # line M
  sess.run(init)

首先,temp = set(tf.all_variables()) 將該行(line N)代碼之前的所有變量保存在temp中,接下來定義變量b, c,以及自定義的optimizer,然后 set(tf.all_varialbles()存儲了改行(line M)之前的所有變量(包括optimizer生成的變量以及temp中所含的變量),set(tf.all_varialbles())-temp相減得到line N~M這幾行定義的變量。

以上這篇Tensorflow 自定義loss的情況下初始化部分變量方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

枝江市| 合江县| 北安市| 菏泽市| 福鼎市| 长兴县| 象州县| 怀安县| 荔波县| 东光县| 定南县| 马山县| 基隆市| 育儿| 阿拉善左旗| 天峻县| 安泽县| 徐闻县| 赫章县| 伊吾县| 深水埗区| 延安市| 资讯| 泽州县| 白玉县| 宾川县| 宜宾市| 南阳市| 印江| 东平县| 泊头市| 新津县| 阳西县| 桐柏县| 大理市| 连云港市| 永城市| 松江区| 云南省| 万全县| 颍上县|