Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ViT example #85

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

Kitazume-Ax
Copy link

作成中のViTサンプルのPRです。
floatのモデルで、TensorFlow Liteを使用して実行した時の動作を確認済みの状態です。

@Kitazume-Ax Kitazume-Ax mentioned this pull request Jun 24, 2024
@kyakuno
Copy link
Contributor

kyakuno commented Jun 25, 2024

モデルアップロードしました。
https://storage.googleapis.com/ailia-models-tflite/vision_transformer/vision_transformer_float.tflite

@Kitazume-Ax 下記のIssueに、再現できるように、モデルをエクスポートする手順を記載していただいても良いでしょうか。
#84

・使用したリポジトリ
・使用したcheckpoint
・エクスポートのコード例

@kyakuno
Copy link
Contributor

kyakuno commented Jun 25, 2024

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

@kyakuno
Copy link
Contributor

kyakuno commented Jun 25, 2024

Attentionは下記のような構造になる。

スクリーンショット 2024-06-25 17 36 19

@kyakuno
Copy link
Contributor

kyakuno commented Jun 25, 2024

@Kitazume-Ax その後、精度は出ないと思いますが、int8に量子化してみていただけると嬉しいです。量子化ツールに綺麗に流れるかどうかを把握したいと考えています。

@Kitazume-Ax
Copy link
Author

Kitazume-Ax commented Jun 26, 2024

int8量子化に対応したPRに更新してあります。

@kyakuno
Copy link
Contributor

kyakuno commented Jun 27, 2024

@kyakuno
Copy link
Contributor

kyakuno commented Jun 27, 2024

花の分類モデルの模様。

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

@kyakuno
Copy link
Contributor

kyakuno commented Jun 27, 2024

@Kitazume-Ax このモデルって、独自に学習されたものでしょうか?

@Kitazume-Ax
Copy link
Author

SlackやIssueにも書いていますが、元実装のImageNet学習済みウェイトはURLが404で失われているため、手元のPCでも学習可能な規模のデータセットの tf_flowers で学習させたものです。
Issueに学習を行ったコードを記載しています。
#84

@kyakuno
Copy link
Contributor

kyakuno commented Jun 28, 2024

承知しました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants