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

tensorflow 恢復指定層與不同層指定不同學習率的方法

 更新時間:2018年07月26日 10:34:02   作者:跬步達千里  
今天小編就為大家分享一篇tensorflow 恢復指定層與不同層指定不同學習率的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

#tensorflow 中從ckpt文件中恢復指定的層或將指定的層不進行恢復:
#tensorflow 中不同的layer指定不同的學習率
 
with tf.Graph().as_default():
		#存放的是需要恢復的層參數
	 variables_to_restore = []
	 #存放的是需要訓練的層參數名,這里是沒恢復的需要進行重新訓練,實際上恢復了的參數也可以訓練
  variables_to_train = []
  for var in slim.get_model_variables():
   excluded = False
   for exclusion in fine_tune_layers:
   #比如fine tune layer中包含logits,bottleneck
    if var.op.name.startswith(exclusion):
     excluded = True
     break
   if not excluded:
    variables_to_restore.append(var)
    #print('var to restore :',var)
   else:
    variables_to_train.append(var)
    #print('var to train: ',var)
 
 
  #這里省略掉一些步驟,進入訓練步驟:
  #將variables_to_train,需要訓練的參數給optimizer 的compute_gradients函數
  grads = opt.compute_gradients(total_loss, variables_to_train)
  #這個函數將只計算variables_to_train中的梯度
  #然后將梯度進行應用:
  apply_gradient_op = opt.apply_gradients(grads, global_step=global_step)
  #也可以直接調用opt.minimize(total_loss,variables_to_train)
  #minimize只是將compute_gradients與apply_gradients封裝成了一個函數,實際上還是調用的這兩個函數
  #如果在梯度里面不同的參數需要不同的學習率,那么可以:
 
  capped_grads_and_vars = []#[(MyCapper(gv[0]), gv[1]) for gv in grads_and_vars]
  #update_gradient_vars是需要更新的參數,使用的是全局學習率
  #對于不是update_gradient_vars的參數,將其梯度更新乘以0.0001,使用基本上不動
 	for grad in grads:
 		for update_vars in update_gradient_vars:
 			if grad[1]==update_vars:
 				capped_grads_and_vars.append((grad[0],grad[1]))
 			else:
 				capped_grads_and_vars.append((0.0001*grad[0],grad[1]))
 
 	apply_gradient_op = opt.apply_gradients(capped_grads_and_vars, global_step=global_step)
 
 	#在恢復模型時:
 
  with sess.as_default():
 
   if pretrained_model:
    print('Restoring pretrained model: %s' % pretrained_model)
    init_fn = slim.assign_from_checkpoint_fn(
    pretrained_model,
    variables_to_restore)
    init_fn(sess)
   #這樣就將指定的層參數沒有恢復

以上這篇tensorflow 恢復指定層與不同層指定不同學習率的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python中使用conda?install還是pip?install好

    Python中使用conda?install還是pip?install好

    這篇文章主要給大家介紹了關于Python中使用conda?install還是pip?install好的相關資料,conda install 和 pip install 都是Python的包管理工具,文中介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • 全網首秀之Pycharm十大實用技巧(推薦)

    全網首秀之Pycharm十大實用技巧(推薦)

    PyCharm 應該是大多數 python 開發(fā)者的首選 IDE,每天我們都在上面敲著熟悉的代碼,寫出一個又一個奇妙的功能。這篇文章主要介紹了Pycharm十大實用技巧,需要的朋友可以參考下
    2020-04-04
  • Python守護進程和腳本單例運行詳解

    Python守護進程和腳本單例運行詳解

    本篇文章主要介紹了Python守護進程和腳本單例運行,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python按鍵按住不放持續(xù)響應的實例代碼

    python按鍵按住不放持續(xù)響應的實例代碼

    今天小編就為大家分享一篇python按鍵按住不放持續(xù)響應的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 使用Python更換外網IP的方法

    使用Python更換外網IP的方法

    這篇文章主要介紹了使用Python更換外網IP的方法,,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • windows+vscode穿越跳板機調試遠程代碼的圖文教程

    windows+vscode穿越跳板機調試遠程代碼的圖文教程

    本文通過圖文并茂的形式給大家介紹了windows+vscode穿越跳板機調試遠程代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • python用插值法繪制平滑曲線

    python用插值法繪制平滑曲線

    這篇文章主要為大家詳細介紹了python用插值法繪制平滑曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • python實現彩票系統(tǒng)

    python實現彩票系統(tǒng)

    這篇文章主要介紹了python實現彩票系統(tǒng),主要采用面向對象的方法,信息存儲方式采用pickle模塊來進行存儲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 論文查重python文本相似性計算simhash源碼

    論文查重python文本相似性計算simhash源碼

    這篇文章主要為大家介紹了python文本相似性計算simhash源碼來實現論文的查重,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • Python實現刪除排序數組中重復項的兩種方法示例

    Python實現刪除排序數組中重復項的兩種方法示例

    這篇文章主要介紹了Python實現刪除排序數組中重復項的兩種方法,涉及Python數組元素的遍歷、判斷、刪除等相關操作技巧,需要的朋友可以參考下
    2019-01-01

最新評論