情報詳細Q:最新Progressで学習させたネットワーク(.hdlファイル)をそれより古いバージョンのHALCONで読み込むことは可能ですか?A:いくつかの条件を満たせば可能です。条件1:読み込み側がHALCON 20.11.2 Steady (またはHALCON 22.05 Progress) 以降であることこのバージョン条件を満たさないHALCONでは読み込みが行えません。条件2:書き出し側がHALCON 22.05 Progress (またはDeepLearningTool 22.10) 以降であることHALCON 21.11以前で生成されたhdlファイルに関しては、生成したバージョンより古いHALCONでは読み込むことができません。HALCONエラー #7782:'DL: Wrong file version' が発生します。22.05以降で生成したhdlファイルに関しては、下記の追加条件を満たせば読み込みが可能です。21.11で生成したファイルを22.05以降で一度読み込み、保存することでも構いません。条件3:当該バージョンが対応している機能であること読み込みを行いたいバージョンのHALCONが対応している機能のみ読み込みが可能です。dl_modelの'type'でご確認ください。例えば、HALCON 22.05ではグローバルアノマリー検出が追加されました。22.05で学習・保存したとしても、20.11.2 Steadyにはグローバルアノマリー検出が存在しないため、読み込むことはできません。このように「機能が対応していない場合」はHALCONエラー #7703 CNN: Invalid data serialization が派生します。条件4:当該バージョンに存在するONNXオペレータであること同じネットワーク構造・ファイルであっても、内部表現で使用しているONNXオペレータの互換性の問題で読み込めない場合があります。確認したいバージョンの組み合わせ・プレトレーニング済みモデルの名前を弊社サポートにご連絡ください。条件5:'solver_type'がsgdであること実質的な意味合いは条件2と変わりませんが、見逃しがちな内容であるため別記します。HALCON 22.05ではdl_modelの'solver_type'に'adam'が追加されました(20.11 Steadyでは'sgd'しかなく、そもそもパラメータとして'solver_type'はアクセスできませんでした)。'solver_type'='adam'のまま保存した場合は読み込むことができませんが、 set_dl_model_param(DLModelHandle, 'solver_type', 'sgd') としておいて保存したモデルは20.11 Steadyで読み込むことが可能です。'solver_type'は学習時にのみ効果を持つパラメータであり、学習済みの推論モデルに影響を与えるものではありません。22.05時点では'solver_type'のみですが、今後いくつかのパラメータが追加される可能性があります。そういったパラメータは全て再設定する必要が出てくると考えられます。 これらの内容は、HALCON 22.05のリリースノートに記載があります。 HALCON has been extended with file forward compatibility for deep learning models (.hdl files). Now, a model that is written using a Progress edition can be read with the latest Steady edition of HALCON. E.g., a model trained and serialized in HALCON 22.05 Progress can be read in HALCON 20.11.x Steady. This compatibility is only possible if the written model only uses features that are also part of the feature set of the Steady version. E.g., if a model uses the Adam solver during training (a feature of HALCON 22.05 Progress), that model cannot be read in HALCON 20.11.x Steady because this feature was not part of the Steady edition. However, in that example the solver type can be reset to SGD before writing, which makes the model compatible with HALCON 20.11.x Steady. 総括すると、条件1~4を満たしていれば、そのモデルは古いバージョンでも「読み込めるべき」ということになります。読み込めなかった場合、条件5に上げるsgdをはじめとした何らかのパラメータの互換性の問題になるため、モデルファイルを送付いただければ弊社で確認してset_dl_model_paramによるパラメータ設定の内容を案内いたします。添付ファイルタイトルHDLファイルの互換性についてURL 名000008717公開状況公開済み検証状況公開済み