axinc-ai / ailia-models

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

ADD InstantID #1377

Open itsmeterada opened 5 months ago

itsmeterada commented 5 months ago

https://github.com/InstantID/InstantID

https://instantid.github.io/

Akasan commented 3 months ago

メモ

Akasan commented 2 months ago

ControlNetおよびIP-AdapterのONNX化検討メモ

kyakuno commented 2 months ago

2GBを超えるONNXをエクスポートした場合に、複数のpbに出力されるのは規定の動作です。出力した後で、ONNXのAPIで読み込み、all_tensors_to_one_file=Trueで書き出すと、1つのonnxと、1つのpbに結合可能です。 https://github.com/onnx/onnx/blob/main/docs/PythonAPIOverview.md

diffuserを使用しているモデルのエクスポート例です。拡散モデルなので、tokenizerとddimのsamplerのコードをdiffuserから持ってくる必要があると思います。 https://github.com/axinc-ai/ailia-models/pull/1379

Akasan commented 2 months ago

@kyakuno ご教授ありがとうございます。 頂いた内容を元に移植作業を進めさせて頂きます。

Akasan commented 2 months ago

ControlNetについてはcontrolnet.onnxとcontrolnet.pbに書き出し、onnxruntime.InferenceSession("controlnet.onnx")で読み込めることを確認

Akasan commented 1 month ago

@kyakuno UNetをエクスポートするときに以下のエラーが出ます。 torch.onnx.errors.UnsupportedOperatorError: Exporting the operator 'aten::fft_fftn' to ONNX opset version 17 is not supported.

以前にも同じ問題が発生した経験がある場合、どのように対処したかご教授いただけますと幸いです

Akasan commented 1 month ago

メモ:

kyakuno commented 1 month ago

dynamoでエクスポートするとどうでしょうか? https://github.com/pytorch/pytorch/issues/112382 ailiaのメモリについては、memory_mode=11を与えてみてください。

Akasan commented 1 month ago

@kyakuno ご教授ありがとうございます。無事unetはエクスポートできました!

エクスポートしたファイルをonnxruntimeで読み込もうとするとSegumentation faultが発生して強制終了されるのでそれの原因調査中ですが、それが完了すればあとは調整のみとなります。 時間がかかっており申し訳ないですが、進捗あり次第再度共有させていただきます

Akasan commented 1 month ago

@kyakuno UNetをエクスポートしたファイルをailia SDKで読み込もうとすると以下のようなエラーになるようです。

814EBB50-E21E-4DAE-BBA3-7B30CAA6F9A6_4_5005_c

一方、onnxruntimeで開こうとするとsegmentation falutが発生する問題がまだ解決できておりません。 引き続きチェックを進めます

Akasan commented 1 month ago
Akasan commented 1 month ago

今まで対応した内容まとめ

Akasan commented 1 month ago

こちらの方法でonnxにしてみる(方法は同じだがパラメータが違う) https://zenn.dev/xiangze/articles/b984d5e806e1dd

Akasan commented 4 weeks ago