情報詳細Q:新しいHALCONバージョンで学習させたネットワーク(.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ではエラー #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オペレータであることHALCON 25.11では画像分類の事前学習済みモデルとしてMobileNet v4が追加されていますが、これをベースとして学習させたモデルは、HALCON 25.05以前で読み込むことはできません。また、同じ事前学習済みモデル・ファイルであっても、内部表現で使用しているONNXオペレータの互換性の問題で読み込めない場合があります。確認したいバージョンの組み合わせ・プレトレーニング済みモデルの名前を弊社サポートにご連絡ください。条件5:モデルのパラメータが読み込み側のバージョンと互換性を持つこと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'は学習時にのみ効果を持つパラメータであり、学習済みの推論モデルに影響を与えるものではありません。これらの内容は、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. solver_typeのほかにも順次パラメータは追加されており、下記に変更すべきパラメータをまとめます。 パラメータ名追加されたバージョンDLTでの日本語表記互換性を持たせる場合の設定値solver_type22.05最適化アルゴリズムsgdweight_decay25.11重み減衰0max_gradient_norm25.11最大勾配ノルム0.00 総括すると、条件1~5を満たしていれば、そのモデルは古いバージョンでも「読み込めるべき」ということになります。読み込めなかった場合、何らかのパラメータもしくはモデル情報の互換性の問題になります。HDLファイルをサポート (support@linx.jp) まで送付いただければ、確認してset_dl_model_paramによるパラメータ設定の内容を案内します。添付ファイルタイトルHDLファイルの互換性:新しいHALCONバージョンで学習させたネットワークをそれより古いバージョンのHALCONで読み込むことは可能ですかURL 名000008717公開状況公開済み検証状況公開済み