AttributeError: ‘_IncompatibleKeys’ object has no attribute ‘to’

Pytorchを使っている時に出たエラー.これがでたときには,モデルの読み込みの順番でエラーが発生していることが多い.少し順番を変えてあげればケロっとエラーが解消されることが多い.

よくあるエラーが,.load_state_dictを.to(device)の前に置いていることで起こるエラーである.

うまく読み込めたパターン

model = ViTBase16(n_classes=5, pretrained=True)
model.eval()  # switch model to the evaluation mode
model = model.to(device)
model = model.load_state_dict(torch.load(model_path))
Pocket