pytorch系列3 在預訓練好的模型上進行微調

2021-09-24 02:09:21 字數 491 閱讀 6213

在訓練網路時經常要進行微調,原來用caffe比較多,相對來說caffe的微調要簡單,那麼pytorch是怎麼實現網路的微調呢,我的方法是:

# 匯入原來的網路

import modules_original

# 匯入新的網路

import modules

pre_net = modules_original() #

pre_net.load_state_dict(torch.load('pre_model.pth'))

new_net = modules.net()

pre_dict = pre_net.state_dict()

new_dict = new_net.state_dict()

pre_dict =

new_dict.update(pre_dict)

new_net.load_state_dict(new_dict)

Pytorch 在預訓練模型中輸入的資料預處理

我們經常看到 transform transforms.compose transforms.randomresizedcrop 100 transforms.randomhorizontalflip transforms.totensor transforms.normalize 0.485,0....

pytorch 使用預訓練層

將其他地方訓練好的網路,用到新的網路裡面 1.原先已經訓練好乙個網路 autoencoder fc 2.首先載入該網路,讀取其儲存的引數 3.設定乙個引數集 cnnpre autoencoder fc cnnpre.load state dict torch.load autoencoder fc....

pytorch 修改預訓練模型

torchvision中提供了很多訓練好的模型,這些模型是在1000類,224 224的imagenet中訓練得到的,很多時候不適合我們自己的資料,可以根據需要進行修改。1 類別不同 coding utf 8 import torchvision.models as models 呼叫模型 mode...