婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 解決Pytorch修改預訓練模型時遇到key不匹配的情況

解決Pytorch修改預訓練模型時遇到key不匹配的情況

熱門標簽:商家地圖標注海報 騰訊地圖標注沒法顯示 孝感營銷電話機器人效果怎么樣 海外網吧地圖標注注冊 打電話機器人營銷 ai電銷機器人的優勢 地圖標注自己和別人標注區別 聊城語音外呼系統 南陽打電話機器人

一、Pytorch修改預訓練模型時遇到key不匹配

最近想著修改網絡的預訓練模型vgg.pth,但是發現當我加載預訓練模型權重到新建的模型并保存之后。

在我使用新賦值的網絡模型時出現了key不匹配的問題

#加載后保存(未修改網絡)
base_weights = torch.load(args.save_folder + args.basenet)
ssd_net.vgg.load_state_dict(base_weights) 
torch.save(ssd_net.state_dict(), args.save_folder + 'ssd_base' + '.pth')
# 將新保存的網絡代替之前的預訓練模型
    ssd_net = build_ssd('train', cfg['min_dim'], cfg['num_classes'])
    net = ssd_net
    ...
    if args.resume:
        ...
    else:
        base_weights = torch.load(args.save_folder + args.basenet)
        #args.basenet為ssd_base.pth
        print('Loading base network...')
        ssd_net.vgg.load_state_dict(base_weights) 

此時會如下出錯誤:

Loading base network…
Traceback (most recent call last):
File “train.py”, line 264, in
train()
File “train.py”, line 110, in train
ssd_net.vgg.load_state_dict(base_weights)

RuntimeError: Error(s) in loading state_dict for ModuleList:
Missing key(s) in state_dict: “0.weight”, “0.bias”, … “33.weight”, “33.bias”.
Unexpected key(s) in state_dict: “vgg.0.weight”, “vgg.0.bias”, … “vgg.33.weight”, “vgg.33.bias”.

說明之前的預訓練模型 key參數為"0.weight", “0.bias”,但是經過加載保存之后變為了"vgg.0.weight", “vgg.0.bias”

我認為是因為本身的模型定義文件里self.vgg = nn.ModuleList(base)這一句。

現在的問題是因為自己定義保存的模型key參數多了一個前綴。

可以通過如下語句進行修改,并加載

from collections import OrderedDict   #導入此模塊
base_weights = torch.load(args.save_folder + args.basenet)
print('Loading base network...')
new_state_dict = **OrderedDict()**  
for k, v in base_weights.items():
    name = k[4:]   # remove `vgg.`,即只取vgg.0.weights的后面幾位
    new_state_dict[name] = v 
    ssd_net.vgg.load_state_dict(new_state_dict) 

此時就不會再出錯了。

參考了這個篇。修改一下就可以應用到自己的模型啦。

//www.jb51.net/article/214214.htm

二、pytorch加載預訓練模型遇到的問題:KeyError: ‘bn1.num_batches_tracked‘

最近在使用pytorch1.0加載resnet預訓練模型時,遇到的一個問題,在此記錄一下。

KeyError: 'layer1.0.bn1.num_batches_tracked'

其實是使用的版本的問題,pytorch0.4.1之后在BN層加入了track_running_stats這個參數,

這個參數的作用如下:

訓練時用來統計訓練時的forward過的min-batch數目,每經過一個min-batch, track_running_stats+=1

如果沒有指定momentum, 則使用1/num_batches_tracked 作為因數來計算均值和方差(running mean and variance).

其實,這個參數沒啥用.但因為官方提供的預訓練模型是pytorch0.3版本訓練出來的,因此沒有這個參數.

所以,只要過濾一下預訓練權重字典中的關鍵字即可,‘num_batches_tracked'.代碼例子,如下.

有問題的代碼:

   def load_specific_param(self, state_dict, param_name, model_path):
        param_dict = torch.load(model_path)
        for i in state_dict:
            key = param_name + '.' + i
            state_dict[i].copy_(param_dict[key])
        del param_dict

對'num_batches_tracked進行過濾:

   def load_specific_param(self, state_dict, param_name, model_path):
        param_dict = torch.load(model_path)
        param_dict = {k: v for k, v in param_dict.items() if 'num_batches_tracked' not in k}
        for i in state_dict:
            key = param_name + '.' + i
            if 'num_batches_tracked' in key:
                continue
            state_dict[i].copy_(param_dict[key])
        del param_dict

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Pytorch通過保存為ONNX模型轉TensorRT5的實現
  • pytorch_pretrained_bert如何將tensorflow模型轉化為pytorch模型
  • pytorch模型的保存和加載、checkpoint操作
  • PyTorch 如何檢查模型梯度是否可導
  • pytorch 預訓練模型讀取修改相關參數的填坑問題
  • PyTorch模型轉TensorRT是怎么實現的?

標簽:楊凌 迪慶 撫州 聊城 六盤水 南寧 揚州 牡丹江

巨人網絡通訊聲明:本文標題《解決Pytorch修改預訓練模型時遇到key不匹配的情況》,本文關鍵詞  解決,Pytorch,修改,預,訓練,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決Pytorch修改預訓練模型時遇到key不匹配的情況》相關的同類信息!
  • 本頁收集關于解決Pytorch修改預訓練模型時遇到key不匹配的情況的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99国产精品久久久久久久久久| 亚洲欧洲精品一区二区三区| av高清久久久| 成人一区在线观看| 成人激情视频网站| av亚洲精华国产精华| 色婷婷一区二区三区四区| 99久久免费视频.com| 97超碰欧美中文字幕| 日本伦理一区二区| 欧美色综合久久| 91精品国产综合久久久久久漫画| 538在线一区二区精品国产| 欧美一区二区在线观看| 精品久久久久久久一区二区蜜臀| 久久久精品2019中文字幕之3| 国产精品无人区| 亚洲午夜影视影院在线观看| 日韩 欧美一区二区三区| 精品一区二区免费视频| 成人一级片网址| 欧美体内she精视频| 欧美一二三区在线| 国产午夜亚洲精品不卡| 亚洲码国产岛国毛片在线| 日韩av不卡在线观看| 国产一区二区三区日韩| 91成人在线免费观看| 欧美成人一区二区三区在线观看| 国产精品成人午夜| 美女脱光内衣内裤视频久久影院| 国产伦精品一区二区三区免费| 99精品视频在线观看| 日韩一区二区三区在线| 亚洲欧美在线高清| 麻豆国产一区二区| 91久久精品一区二区三区| 日韩色视频在线观看| 亚洲婷婷综合色高清在线| 日本aⅴ免费视频一区二区三区 | 91网站黄www| 日韩欧美一二三区| 亚洲午夜久久久| 国产成人在线视频网站| 制服.丝袜.亚洲.另类.中文| 亚洲三级在线免费| 国产精品 日产精品 欧美精品| 欧美日韩黄色一区二区| 国产精品情趣视频| 国产精品一二三区在线| 欧美日韩成人激情| 亚洲欧美日韩久久精品| 国产成人亚洲综合a∨婷婷图片| 宅男噜噜噜66一区二区66| 亚洲精品中文在线| 成人听书哪个软件好| 精品日韩一区二区三区免费视频| 亚洲bt欧美bt精品| 欧美性感一区二区三区| 亚洲女人的天堂| 99久久婷婷国产| 国产精品三级电影| 国产aⅴ综合色| 中文字幕乱码日本亚洲一区二区| 激情国产一区二区| 精品99999| 黑人巨大精品欧美黑白配亚洲| 欧美一级xxx| 理论片日本一区| 日韩欧美国产综合一区| 蜜臀久久久99精品久久久久久| 欧美久久久久中文字幕| 婷婷久久综合九色综合绿巨人| 欧美日韩精品综合在线| 香蕉成人啪国产精品视频综合网| 欧美无人高清视频在线观看| 亚洲激情自拍视频| 欧美三级视频在线| 日本麻豆一区二区三区视频| 欧美一区二区私人影院日本| 奇米精品一区二区三区四区 | 亚洲小说欧美激情另类| 在线观看av一区二区| 亚洲曰韩产成在线| 91精品国产一区二区人妖| 美国十次综合导航| 欧美激情中文不卡| 色综合欧美在线视频区| 天天色天天爱天天射综合| 日韩精品一区二区在线观看| 国产乱码精品一区二区三| 国产精品久久久久9999吃药| 91黄色免费看| 蜜桃视频一区二区三区在线观看| 精品国产污污免费网站入口| 成人黄色小视频| 污片在线观看一区二区| 久久综合狠狠综合| 一道本成人在线| 美女一区二区三区在线观看| 1024成人网色www| 在线播放一区二区三区| 国产91色综合久久免费分享| 亚洲激情欧美激情| 日韩免费看网站| 色综合久久久久网| 国产九色精品成人porny| 亚洲老妇xxxxxx| 久久天堂av综合合色蜜桃网 | 日韩av网站免费在线| 国产亚洲欧美日韩在线一区| 色狠狠色狠狠综合| 国产精品123区| 日韩国产欧美视频| 亚洲欧美另类小说视频| 精品国产123| 欧美精品日韩精品| 99这里都是精品| 激情综合网最新| 天天综合网 天天综合色| 日韩一区在线播放| 久久久久久一级片| 7777精品伊人久久久大香线蕉 | 国产精品视频你懂的| 欧美一卡2卡三卡4卡5免费| 一本久久a久久精品亚洲| 国产做a爰片久久毛片 | 精品国产精品网麻豆系列| 日本韩国一区二区三区| 不卡在线视频中文字幕| 国产在线精品一区二区三区不卡| 亚洲精品免费在线| 中文字幕一区二区三区不卡在线| 久久久久综合网| 精品福利一二区| 精品久久久三级丝袜| 欧美xxxx老人做受| 欧美一区二区在线不卡| 91麻豆精品国产91| 51久久夜色精品国产麻豆| 欧美三级中文字| 51精品秘密在线观看| 欧美精品免费视频| 91精品国产一区二区| 在线不卡欧美精品一区二区三区| 欧美色电影在线| 欧美美女bb生活片| 337p亚洲精品色噜噜狠狠| 91精品国产乱码| 69久久夜色精品国产69蝌蚪网| 欧美一区二区三区视频免费| 制服丝袜成人动漫| 精品久久免费看| 久久久久久久久99精品| 国产婷婷精品av在线| 欧美国产激情二区三区| 亚洲欧洲另类国产综合| 亚洲免费观看高清完整版在线观看| 亚洲色图一区二区| 亚洲激情av在线| 日韩电影免费在线| 国产一区欧美二区| 成人午夜在线免费| 91麻豆福利精品推荐| 欧美日韩在线综合| 精品福利二区三区| 欧美高清一级片在线观看| 亚洲人成7777| 日韩电影免费在线看| 国产精品一区二区视频| 99精品视频免费在线观看| 一本到高清视频免费精品| 51精品秘密在线观看| 精品国产精品一区二区夜夜嗨| 国产精品成人免费精品自在线观看 | 婷婷综合另类小说色区| 国产激情91久久精品导航| 91麻豆精品秘密| 日韩免费观看2025年上映的电影| 亚洲国产精品成人综合色在线婷婷 | 亚洲一区二区三区在线看| 久久不见久久见免费视频7 | 亚洲电影视频在线| 狠狠狠色丁香婷婷综合激情 | 亚洲福利一二三区| 国产做a爰片久久毛片| 91久久久免费一区二区| 久久众筹精品私拍模特| 亚洲一区二区三区自拍| 国产精品18久久久久久久久久久久| 在线国产亚洲欧美| 国产视频一区二区在线| 日韩经典一区二区| 色综合久久综合网97色综合| 精品久久久久久综合日本欧美| 亚洲精品久久久蜜桃| 国产精品123| 欧美xxxxx裸体时装秀| 亚洲高清在线精品| 91麻豆精品在线观看|