1. 程式人生 > 程式設計 >pytorch 實現在預訓練模型的 input上增減通道

pytorch 實現在預訓練模型的 input上增減通道

如何把imagenet預訓練的模型,輸入層的通道數隨心所欲的修改,從而來適應自己的任務

#增加一個通道
w = layers[0].weight
layers[0] = nn.Conv2d(4,64,kernel_size=(7,7),stride=(2,2),padding=(3,3),bias=False)
layers[0].weight = torch.nn.Parameter(torch.cat((w,w[:,:1,:,:]),dim=1))
 
#方式2
w = layers[0].weight
layers[0] = nn.Conv2d(4,torch.zeros(64,1,7,7)),dim=1))
 
 
#單通道輸入
layers[0] = nn.Conv2d(1,bias=False)
layers[0].weight = torch.nn.Parameter(w[:,:])

以上這篇pytorch 實現在預訓練模型的 input上增減通道就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。