1. DeiT概述
1.1 項目簡介
Deit(Data-efficient image Transformers)是由Facebook與索邦大學的Matthieu Cord教授合作開發的圖像分類模型。作為一種基于Transformer架構的深度學習模型,DeiT在保持高性能的同時,能夠大大提高數據效率,為圖像識別領域帶來了顛覆性的變化。
與傳統的CNN不同,DeiT模型采用了Transformer的自注意力機制,將圖像分割成若干個固定大小的塊,并對每個塊進行編碼,捕捉圖像中的長程依賴關系。
本文將為大家介紹如何將DeiT移植到算能BM1684X平臺上。
1.2 模型介紹
DeiT目前有3個版本的模型(tiny, small, base),均由12個Attention結構組成,模型區別在于輸入的header個數及embed_dim不同。
Attention結構如下圖所示:
attention
不同版本的模型具體參數區別如下表:
version
2. 模型移植
以下部分介紹如何將DeiT移植到算能BM1684X平臺上。
2.1 模型trace
原始DeiT模型基于Pytorch框架訓練及推理。算能TPU-MLIR工具鏈可以編譯通過jit trace過的靜態模型。
首先進行模型trace,命令如下,需要修改原推理代碼。
trace
2.2 模型編譯
以下介紹如何使用算能TPU-MLIR工具鏈將上一步trace過的模型編譯成可以在算能BM1684X上推理的bmodel。在模型移植過程中遇到一些算子邊界的處理問題,均已修復。
transformdeploy
2.3 精度測試
DeiT為分類模型,精度測試采用topk來進行。
精度測試及性能測試結果如下:
precision
3 小結
總體看移植過程相對順利,在解決了部分算子邊界問題之后可以成功編譯出bmodel。F32精度基本可與原始框架對齊。由于第一個Conv stride > 15,在進行F16/BF16轉換時遇到比對問題,這部分代碼目前仍在重構,生成bmodel過程中這部分采用F32混精度處理。
-
圖像
+關注
關注
2文章
1084瀏覽量
40468 -
模型
+關注
關注
1文章
3244瀏覽量
48843 -
深度學習
+關注
關注
73文章
5503瀏覽量
121170
發布評論請先 登錄
相關推薦
評論