2018aでのtrainNetwork

1 Ansicht (letzte 30 Tage)
Yuto Omae
Yuto Omae am 17 Jul. 2018
Beantwortet: Yuto Omae am 17 Jul. 2018
2017bのバージョンで保存させておいたNetworkを、2018aにバージョンアップさせた後にtrainNetworkで学習させようとしたところ、
「層12のクラス順序は、学習データで指定された順序と一致しなければなりません」
というエラーがでて、学習できなくなってしまいました。 プログラムを変更はしておらず、以前は問題なく学習できていました。
trainNetwork(DX, DY, oldNet, opt)
でエラーが出ます。
DXは画像ファイル、 DYはカテゴリカル型の教師データラベル、 oldNetは2017bで、trainNetworkにより作成したCNN、 optは学習条件となります。
oldNetは学習に数か月かかっており、再度1から学習ということはしたくありません。 再度、エラーをださずに学習を行うには、どのような対応が考えられますか。
よろしくお願いします。
備考: activations関数で、CNNにおける特定の層から特徴量抽出を行ったところ、 これまではn回目の入力がn行目に格納されていたのにも拘らず、 先ほど実行したところ、n列目に格納される、というように変更されていました。 これにより、いくつかプログラムを組みなおさねばならない事態になってしまいました。 CNNまわりで何か大きな変更などあったのでしょうか。

Akzeptierte Antwort

Yuto Omae
Yuto Omae am 17 Jul. 2018
すいません、自己解決しました。
trainNetworkの中身をみていたところ、入力された教師データのラベルの型と、既に学習されたCNNの最終層のクラスラベルの型をチェックし、お互いの順序あり/なしが不一致ではないか、チェックしているコードを発見しました。 そのため、
DY=categorical(DY,'Ordinal',false)
とし、ラベルデータを順序なしのカテゴリカル型にしたところ、2018aのtrainNetworkで、2017bで作成したCNNを学習させることができました。

Weitere Antworten (0)

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!