10

PyTorch で fastai 実装を使用して事前トレーニング済みのモデルをロードするにはどうすればよいですか? SkLearn と同様に、pickle を使用してモデルをファイルにダンプし、後でロードして使用できます。以前に保存した重みをロードするために、次のように学習インスタンスを宣言した後、.load() メソッドを使用しました。

arch=resnet34
data = ImageClassifierData.from_paths(PATH, tfms=tfms_from_model(arch, sz))
learn = ConvLearner.pretrained(arch, data, precompute=False)
learn.load('resnet34_test')

次に、画像のクラスを予測します。

trn_tfms, val_tfms = tfms_from_model(arch,100)
img = open_image('circle/14.png')
im = val_tfms(img)
preds = learn.predict_array(im[None])
print(np.argmax(preds))

しかし、それは私にエラーを取得します:

ValueError: Expected more than 1 value per channel when training, got input size [1, 1024]

learn.fit(0.01, 3)の代わりに使用すると、このコードは機能しlearn.load()ます。私が本当に欲しいのは、アプリケーションのトレーニングステップを避けることです。

4

3 に答える 3

-2

トレーニングでは、トレーニング セット バッチに 1 つのデータがある場合、このエラーが発生します。

モデルを使用して出力を予測している場合は、必ず設定してください

learner.eval()
于 2018-10-12T12:57:30.127 に答える