Open Kitazume-Ax opened 1 month ago
モデルアップロードしました。 https://storage.googleapis.com/ailia-models-tflite/vision_transformer/vision_transformer_float.tflite
@Kitazume-Ax 下記のIssueに、再現できるように、モデルをエクスポートする手順を記載していただいても良いでしょうか。 https://github.com/axinc-ai/ailia-models-tflite/issues/84
・使用したリポジトリ ・使用したcheckpoint ・エクスポートのコード例
ailia_tfliteの場合、下記のエラーになる。
Traceback (most recent call last):
File "/Users/kyakuno/Desktop/ailia/ailia-models-tflite/image_classification/vision_transformer/vision_transformer.py", line 229, in <module>
main()
File "/Users/kyakuno/Desktop/ailia/ailia-models-tflite/image_classification/vision_transformer/vision_transformer.py", line 225, in main
recognize_from_image()
File "/Users/kyakuno/Desktop/ailia/ailia-models-tflite/image_classification/vision_transformer/vision_transformer.py", line 87, in recognize_from_image
interpreter.allocate_tensors()
File "/usr/local/lib/python3.11/site-packages/ailia_tflite/__init__.py", line 365, in allocate_tensors
self.__check(self.dll.AllocateTensors(self.instance))
File "/usr/local/lib/python3.11/site-packages/ailia_tflite/__init__.py", line 358, in __check
raise AiliaTFLiteError(f"ailia tflite runtime error "+detail, status)
ailia_tflite.AiliaTFLiteError: ailia tflite runtime error (operator is not supported. (idx.5 operator.FILL)) code:-7
Attentionは下記のような構造になる。
@Kitazume-Ax その後、精度は出ないと思いますが、int8に量子化してみていただけると嬉しいです。量子化ツールに綺麗に流れるかどうかを把握したいと考えています。
int8量子化に対応したPRに更新してあります。
花の分類モデルの模様。
daisy.jpg
float
=== daisy.jpg ===
==============================================================
class_count=3
+ idx=0
category=1[daisy ]
prob=0.9958629608154297
value=0.9958629608154297
+ idx=1
category=4[roses ]
prob=0.003245399333536625
value=0.003245399333536625
+ idx=2
category=2[tulips ]
prob=0.00042533810483291745
value=0.00042533810483291745
Script finished successfully.
int8
=== daisy.jpg ===
==============================================================
class_count=3
+ idx=0
category=1[daisy ]
prob=0.99609375
value=255
+ idx=1
category=4[roses ]
prob=0.0
value=0
+ idx=2
category=3[sunflowers ]
prob=0.0
value=0
clock.jpg
float
=== clock.jpg ===
==============================================================
class_count=3
+ idx=0
category=4[roses ]
prob=0.6177893280982971
value=0.6177893280982971
+ idx=1
category=2[tulips ]
prob=0.19002234935760498
value=0.19002234935760498
+ idx=2
category=1[daisy ]
prob=0.09845711290836334
value=0.09845711290836334
int8
=== clock.jpg ===
==============================================================
class_count=3
+ idx=0
category=4[roses ]
prob=0.51953125
value=133
+ idx=1
category=1[daisy ]
prob=0.30078125
value=77
+ idx=2
category=3[sunflowers ]
prob=0.0625
value=16
@Kitazume-Ax このモデルって、独自に学習されたものでしょうか?
SlackやIssueにも書いていますが、元実装のImageNet学習済みウェイトはURLが404で失われているため、手元のPCでも学習可能な規模のデータセットの tf_flowers で学習させたものです。 Issueに学習を行ったコードを記載しています。 https://github.com/axinc-ai/ailia-models-tflite/issues/84
承知しました!
作成中のViTサンプルのPRです。 floatのモデルで、TensorFlow Liteを使用して実行した時の動作を確認済みの状態です。