Pytorch卷積層手動初始化權值的實例
更新時間:2019年08月17日 11:59:24 作者:Learn2Learn
今天小編就為大家分享一篇Pytorch卷積層手動初始化權值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
由于研究關系需要自己手動給卷積層初始化權值,但是好像博客上提到的相關文章比較少(大部分都只提到使用nn.init里的按照一定分布初始化方法),自己參考了下Pytorch的官方文檔,發(fā)現(xiàn)有兩種方法吧。
所以mark下。
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
# 第一一個卷積層,我們可以看到它的權值是隨機初始化的
w=torch.nn.Conv2d(2,2,3,padding=1)
print(w.weight)
# 第一種方法
print("1.使用另一個Conv層的權值")
q=torch.nn.Conv2d(2,2,3,padding=1) # 假設q代表一個訓練好的卷積層
print(q.weight) # 可以看到q的權重和w是不同的
w.weight=q.weight # 把一個Conv層的權重賦值給另一個Conv層
print(w.weight)
# 第二種方法
print("2.使用來自Tensor的權值")
ones=torch.Tensor(np.ones([2,2,3,3])) # 先創(chuàng)建一個自定義權值的Tensor,這里為了方便將所有權值設為1
w.weight=torch.nn.Parameter(ones) # 把Tensor的值作為權值賦值給Conv層,這里需要先轉為torch.nn.Parameter類型,否則將報錯
print(w.weight)
效果預覽

以上這篇Pytorch卷積層手動初始化權值的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python數(shù)據(jù)類型之列表和元組的方法實例詳解
這篇文章主要介紹了Python數(shù)據(jù)類型之列表和元組的相關知識,列表是一組有序項目的集合 ,可變的數(shù)據(jù)類型可 進行增刪改查,本文通過實例文字相結合的形式給大家介紹的非常詳細 ,需要的朋友可以參考下2019-07-07
caffe的python接口deploy生成caffemodel分類新的圖片
這篇文章主要為大家介紹了caffe的python接口生成deploy文件學習以及用訓練好的模型(caffemodel)來分類新的圖片示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

