現在chainerでセマンティックセグメンテーション(3クラス分類)を行っています.
学習済みモデルで予測した画像の表示方法が分からず困っています.
このサイトを参考にコードを書いてみたのですが画像が表示されません.コードとエラーは以下の通りです.
モデルに代入しているimgは3チャンネルのカラー画像です.
ネットワークの最終層の出力にはrelu関数を使用して,ネットワーク全体ではUNETを構築しています.
分かる方いらっしゃいましたらご教授願います.
宜しくお願い致します..
python
1def show_predicts(trainer, val, n_sample=2): 2 #学習した結果を表示する 3 model = trainer.updater.get_optimizer('main').target.predictor 4 for i in range(n_sample): 5 img, label = val[i] 6 pred = model(img[np.newaxis]) 7 fig, axes = plt.subplots(1, 2) 8 9 print('pred_info', type(pred), pred.dtype, pred.shape) 10 #pred_info <class 'chainer.variable.Variable'> float32 (1, 3, 512, 512) 11 print('label_info', type(label), label.dtype, label.shape) 12 #label_info <class 'numpy.ndarray'> int32 (512, 512) 13 14 #ラベル画像のみでしたら表示できたのでimshow(pred)が原因だと思います. 15 axes[0].set_axis_off() 16 axes[0].imshow(pred) 17 18 axes[1].set_axis_off() 19 axes[1].imshow(label) 20 21 plt.show()
TypeError: Image data cannot be converted to float
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。