chainerで画像分類しようとして躓いた
TypeError: Argument 'a' has incorrect type (expected cupy.core.core.ndarray, got numpy.ndarray)
というエラーがでて学習が出来なかった。
渡すのがcupyじゃなくてnumpyの配列になってる?って確認しても、ちゃんとcupyになっていてイマイチわからなかったが、解決したのでメモしておく。
1epochが終了するたびにモデルを保存するようにしていて、
以下のようにソースコードを書いていた。
model.to_cpu() chainer.serializers.save_npz("model"+str(epoch+1), model)
しかし、これではmodelをcpu用に変換したままになっていたためエラーを吐いていたのだ。
model.to_cpu()を削除することでも解決できるが、とりあえず今回は以下のようにgpu用に変換することで解決した。
model.to_cpu() chainer.serializers.save_npz("model"+str(epoch+1), model) model.to_gpu()