【python】AttributeError: ‘_IncompatibleKeys’ object has no attribute ~の解決方法
binファイルからパラメータを読み込んだモデルが何か変な型になってる!?
ということでエラーが出たので、解決方法を載せておきます。
目次
問題のコード
こんな感じのコードを実行した際にタイトルのエラーが出ました。
model = MyModel()
model = model.load_state_dict(torch.load('model.bin'))
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model.to(device) # AttributeError: '_IncompatibleKeys' object has no attribute 'to'
一見、あっていそうですが間違っているところがありました。
解決方法
解決方法は簡単です。
model = MyModel()
# 変更点
model.load_state_dict(torch.load('model.bin')) # <All keys matched successfully>
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model.to(device)
binファイルからパラメータを読み込むためのコードが変数に入れられておかしくなっていました。
<All keys matched successfully>
と表示されたら成功です。
最後に
今回は、個人的に言語モデルを色々いじっている時に出てきたエラーの解決方法を書きました。
他のエラーが出たらそれについても書いていこうと思います。
コメント