axinc-ai / ailia-models

The collection of pre-trained, state-of-the-art AI models for ailia SDK
1.99k stars 318 forks source link

ADD DAB-DETR #821

Closed kyakuno closed 2 years ago

kyakuno commented 2 years ago

[ICLR 2022] DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR https://github.com/IDEA-opensource/DAB-DETR Apache2.0

hattan1990 commented 2 years ago

■独自のデータ型(≒NestedTensor)をOnnxエクスポート可能なデータ型に修正  モデルのforward部分の処理で、独自のデータ型を入力としているためエクスポート時にエラーが発生する。  NestedTensor -> torch.tensorに変更する。 1.DABDETR  ・DABDETR(メイン)  ・SetCriterion 2.Backbone  ・FrozenBatchNorm2d  ・BackboneBase  ・Joiner 3.Position_encoding  ・PositionEmbeddingSine  ・PositionEmbeddingSineHW  ・PositionEmbeddingLearned 4.Segmentation  ・DETRsegm

hattan1990 commented 2 years ago

■DAB-DETR-R50のモデルをエクスポート 1.「https://drive.google.com/drive/folders/1pae4Yxi0H9OOFdXZg3zXuKK9yOznhTNU 」からweightsを取得 2.モデルの定義(build_DABDETR)を行いweightsを読み込む 3.モデルのエクスポート  →torch.onnx.export(model, (tensor, mask), 'saved_model.onnx', verbose=True, opset_version=12)

hattan1990 commented 2 years ago

■ailia SDKによる推論

  1. モデルの読込でエラーが発生 net = ailia.Net(MODEL_PATH, WEIGHT_PATH)
ailia.core.AiliaException: code: -128 (Unknown error.)
+ error detail : (empty)
kyakuno commented 2 years ago

誤ってmasterにマージしてしまったので、リストから除外。下記でテストできる。 https://github.com/axinc-ai/ailia-models/tree/master/object_detection/dab-detr

kyakuno commented 2 years ago

constantForwardで例外が起きる。

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libailia.dylib                         0x1740f85fc ailia::Layer::Graph::constantForward() + 1804
1   libailia.dylib                         0x173e9920f ailiaOpenWeightEx + 2255
2   libailia.dylib                         0x173e98792 ailiaOpenWeightFileA + 882
3   libffi.dylib                        0x7ff81a748882 ffi_call_unix64 + 82