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文章
1087浏览量
40499 -
模型
+关注
关注
1文章
3261浏览量
48914 -
深度学习
+关注
关注
73文章
5507浏览量
121272
发布评论请先 登录
相关推荐
评论