strict=False 但還是size mismatch 的解決辦法
(資料圖片)
問(wèn)題描述:
# RuntimeError: Error(s) in loading state_dict for Fusion_Generator: size mismatch for fg_decoder.0.weight: copying a param with shape torch.Size([4096, 1024]),g_decoder.0.weight: copying a param with shape torch.Size([4096, 1024]...
出現(xiàn)兩個(gè)參數(shù)的不匹配。
具體內(nèi)容如下:
model = GAN(opt)loaded = torch.load(model_path)assert (opt.epoch == loaded["epoch"])model.load_state_dict(loaded["model"], strict=False) # 這里爆出上述Error,定位到下面的函數(shù)def load_state_dict(self, pretrained_dict, strict=False): for k in pretrained_dict: if k ... ... ... elif k == "generator": self.generator.load_state_dict(pretrained_dict[k], strict=strict) # 這里雖然strict傳入的是False,忽略不匹配參數(shù),仍有上述問(wèn)題 elif k ... ...
在參考 這里后,如果只是pop()掉fg_decoder.0.weight和bg_decoder.0.weight后,會(huì)有新的問(wèn)題出現(xiàn)(一般問(wèn)題通過(guò)pop掉能解決問(wèn)題),即
KeyError: "fg_decoder.0.weight,bg_decoder.0.weight"
即不能識(shí)別上述兩個(gè)鍵值,這時(shí)可以通過(guò)打印模型參數(shù)具體內(nèi)容查看:
def load_state_dict(self, pretrained_dict, strict=False): for k in pretrained_dict: if k ... ... ... elif k == "fusion_generator": for u in pretrained_dict[k].keys(): print(u," ",pretrained_dict[k][u]) self.fusion_generator.load_state_dict(pretrained_dict[k], strict=strict) # elif k ... ...
打印結(jié)果
fg_decoder.0.weight xxxxxx tensor([0., 0., 0., ..., 0., 0., 0.], device="cuda:0")
fg_decoder.0.bias xxxxxx tensor([0., 0., 0., ..., 0., 0., 0.], device="cuda:0") fg_decoder.1.weight xxxxxx tensor([1.0362, 0.9969, 0.9892, ..., 0.9939, 1.0122, 1.0190], device="cuda:0") fg_decoder.1.bias xxxxxx tensor([0., 0., 0., ..., 0., 0., 0.], device="cuda:0") fg_decoder.1.running_mean xxxxxx tensor([ 0.1915, -0.5510, 0.5370, ..., -0.1265, 0.8344, 1.4391], device="cuda:0") fg_decoder.1.running_var xxxxxx tensor([0.9402, 0.7382, 0.0167, ..., 0.3988, 0.1081, 0.4470], device="cuda:0") fg_decoder.1.num_batches_tracked xxxxxx tensor(3880, device="cuda:0") fg_decoder.3.weight xxxxxx tensor([[ 0.0211, -0.0072, 0.0030, ..., 0.0090, 0.0120, 0.0043], [ 0.0221, -0.0320, -0.0050, ..., 0.0239, 0.0035, 0.0438], [ 0.0246, -0.0091, 0.0146, ..., -0.0003, 0.0257, -0.0025], ..., [ 0.0077, -0.0209, -0.0017, ..., 0.0135, 0.0418, 0.0052], [ 0.0109, 0.0066, -0.0093, ..., 0.0048, -0.0019, -0.0381], [ 0.0145, -0.0165, 0.0095, ..., 0.0252, -0.0184, 0.0178]], device="cuda:0")....
bg_decoder.0.weight xxxxxx tensor([0., 0., 0., ..., 0., 0., 0.], device="cuda:0")....
可以發(fā)現(xiàn)fg_decoder.0.weight和bg_decoder.0.weight都在里面,并且對(duì)應(yīng)為pretrained_dict[k][u]
所以!!!在有序字典中將對(duì)應(yīng)報(bào)錯(cuò)內(nèi)容刪除后,就能解決size mismatch問(wèn)題
def load_state_dict(self, pretrained_dict, strict=False): for k in pretrained_dict: if k ... ... ... elif k == "fusion_generator": for u in list(pretrained_dict[k].keys()):# (小坑)加list防止同時(shí)讀寫報(bào)錯(cuò) if u == "fg_decoder.0.weight" or u == "bg_decoder.0.weight": pretrained_dict[k].pop(u) self.fusion_generator.load_state_dict(pretrained_dict[k], strict=strict) # elif k ... ...
成功解決問(wèn)題~
關(guān)鍵詞:
[責(zé)任編輯:xwzkw]
相關(guān)閱讀
- (2023-08-26)strict=False 但還是size mismatch 的解決辦法
- (2023-08-26)“煤炭一哥”中國(guó)神華上半年凈利潤(rùn)同比下滑19.2% 預(yù)計(jì)后市煤價(jià)仍會(huì)下行
- (2023-08-26)2-0!進(jìn)攻打懵對(duì)手,馮彥哲黃東萍首戰(zhàn)告捷,下輪戰(zhàn)東道主王牌!
- (2023-08-26)扶持個(gè)體工商戶發(fā)展 我省推出政策“大禮包”
- (2023-08-26)臺(tái)風(fēng)“蘇拉”將在呂宋島東北部洋面徘徊,“達(dá)維”向西北方向移動(dòng)
- (2023-08-26)成都車展:比亞迪方程豹豹5開啟盲訂,售價(jià)30-40萬(wàn)之間
- (2023-08-26)登高臨峻 眺峰懷遠(yuǎn)——《藝術(shù)里的奧林匹克》帶您感受國(guó)畫《廬山高》中大自然的偉大壯闊
- (2023-08-26)西安3條地鐵工程放榜,五大建筑央企+陜西建工中標(biāo)
- (2023-08-26)海珠這3個(gè)公交站點(diǎn)下周五起改名
- (2023-08-26)南山賞菊正當(dāng)時(shí)
- (2023-08-26)太陽(yáng)表面出現(xiàn)巨大的黑子:或釋放高能爆炸,導(dǎo)致地球電網(wǎng)癱瘓
- (2023-08-26)交通運(yùn)輸部:7月交通運(yùn)輸各主要指標(biāo)均實(shí)現(xiàn)正增長(zhǎng)
- (2023-08-26)本周盤點(diǎn)(8.21-8.25):東易日盛周跌4.23%,主力資金合計(jì)凈流出310.93萬(wàn)元
- (2023-08-26)浪潮信息觸及跌停
- (2023-08-26)*ST西發(fā)(000752):該股換手率大于8%(08-25)
- (2023-08-26)醴陵公安集中銷毀60余臺(tái)賭博機(jī)
- (2023-08-26)比亞迪宋L在成都車展首發(fā)亮相:搭載“云輦C”
- (2023-08-26)聚力優(yōu)秀師資力量,中公教育“譜寫”新篇章
- (2023-08-26)交通運(yùn)輸部:7月交通運(yùn)輸各主要指標(biāo)均實(shí)現(xiàn)正增長(zhǎng)
- (2023-08-26)“讓我來(lái)愛護(hù)你”上海首批762間職工工間休息室建成
- (2023-08-26)證監(jiān)會(huì):研究適當(dāng)延長(zhǎng)A股市場(chǎng)、交易所債券市場(chǎng)交易時(shí)間
- (2023-08-26)深交所丁曉東:緊鑼密鼓地做好大宗交易納入互聯(lián)互通的準(zhǔn)備工作
- (2023-08-26)暖心!女生地鐵給大爺讓座被贈(zèng)藍(lán)莓,隨即回贈(zèng)芒果
- (2023-08-26)一場(chǎng)秋雨一場(chǎng)涼!北京明天一早轉(zhuǎn)晴,雙休日降溫雨再來(lái)
- (2023-08-26)五周年演講暨真我 GT5 新品發(fā)布會(huì)
- (2023-08-26)中原集團(tuán)回應(yīng)“深圳中原拖欠員工傭金”:不具墊付能力
- (2023-08-26)國(guó)內(nèi)油價(jià)明晚或?qū)⑸蠞q:未超50元/噸不作調(diào)整
- (2023-08-26)前7月財(cái)政收支雙增長(zhǎng)!“錢袋子”流向社保就業(yè)和衛(wèi)生健康
- (2023-08-26)羊了個(gè)羊卡無(wú)限道具bug教程
- (2023-08-26)精準(zhǔn)釋放剛性和改善性需求,湖南召開房地產(chǎn)平穩(wěn)健康和安全運(yùn)行工作推進(jìn)會(huì)





