0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

迈向更高效的图像分类:解析DeiT模型的移植和适配

算能开发者社区 2023-11-23 08:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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结构如下图所示:

f5dd2bea-8997-11ee-9788-92fbcf53809c.pngattention

不同版本的模型具体参数区别如下表:

f5f01ad4-8997-11ee-9788-92fbcf53809c.pngversion

2. 模型移植

以下部分介绍如何将DeiT移植到算能BM1684X平台上。

2.1 模型trace

原始DeiT模型基于Pytorch框架训练及推理。算能TPU-MLIR工具链可以编译通过jit trace过的静态模型。

首先进行模型trace,命令如下,需要修改原推理代码。

f612c46c-8997-11ee-9788-92fbcf53809c.pngtrace

2.2 模型编译

以下介绍如何使用算能TPU-MLIR工具链将上一步trace过的模型编译成可以在算能BM1684X上推理的bmodel。在模型移植过程中遇到一些算子边界的处理问题,均已修复。

f6221b60-8997-11ee-9788-92fbcf53809c.pngtransformf634c6ac-8997-11ee-9788-92fbcf53809c.pngdeploy

2.3 精度测试

DeiT为分类模型,精度测试采用topk来进行。

精度测试及性能测试结果如下:

f649d45c-8997-11ee-9788-92fbcf53809c.pngprecision

3 小结

总体看移植过程相对顺利,在解决了部分算子边界问题之后可以成功编译出bmodel。F32精度基本可与原始框架对齐。由于第一个Conv stride > 15,在进行F16/BF16转换时遇到比对问题,这部分代码目前仍在重构,生成bmodel过程中这部分采用F32混精度处理。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1097

    浏览量

    42473
  • 模型
    +关注

    关注

    1

    文章

    3861

    浏览量

    52322
  • 深度学习
    +关注

    关注

    73

    文章

    5613

    浏览量

    124723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    海光信息DCU平台完成对DeepSeek V4模型极速适配

      4月24日,深度求索正式发布并开源DeepSeek V4。海光DCU同步完成对DeepSeek V4的Day0适配,以“模型发布—芯片适配—产业落地”的高效闭环,为全球开发者、企业
    的头像 发表于 04-24 17:32 1892次阅读

    昆仑芯科技完成MiniMax M2.7模型极速适配

    今日,MiniMax正式开源MiniMax M2.7模型。昆仑芯同步完成对该模型的Day 0适配与深度优化,成为首批实现适配的国产算力厂商之一,再次验证其在主流大
    的头像 发表于 04-13 17:07 581次阅读

    RT-Thread 中设备树的适配方法 | 技术集结

    本文基于RT-Thread现有的DM(设备模型)框架,以Rock2F开发板为例,系统梳理了RK3528SoC的快速移植流程,涵盖了CLK、Pinctrl、ADC、NVMEM、Thermal、RNG等
    的头像 发表于 04-04 18:05 3362次阅读
    RT-Thread 中设备树的<b class='flag-5'>适配</b>方法 | 技术集结

    海光DCU完成阶跃星辰基座模型Step 3.5 Flash推理适配

    近日,海光DCU正式完成对阶跃星辰旗舰开源基座模型Step 3.5 Flash的全流程适配与深度调优。得益于新一代海光DCU原生支持FP8精度、超越主流旗舰产品的更大显存等核心优势,高效完成Step 3.5 Flash FP8的
    的头像 发表于 03-26 09:48 765次阅读

    沐曦曦云C500/C550 GPU产品适配腾讯混元图像3.0图生图模型

    近日,腾讯混元团队宣布开源混元图像3.0图生图版本(HunyuanImage 3.0-Instruct),沐曦股份曦云C500/C550 24小时内完成适配,为国内首批适配模型的国产
    的头像 发表于 02-02 14:43 651次阅读

    SAM(通用图像分割基础模型)丨基于BM1684X模型部署指南

    前言SAM是Meta提出的一个分割一切的提示型模型,其在1100万张图像上训练了超过10亿个掩码,实现了强大的零样本泛化,突破了分割界限。本例程对SAM官方开源仓库的模型和算法进行移植
    的头像 发表于 01-12 16:17 552次阅读
    SAM(通用<b class='flag-5'>图像</b>分割基础<b class='flag-5'>模型</b>)丨基于BM1684X<b class='flag-5'>模型</b>部署指南

    飞腾多元化工控主板:赋能产业发展更智能、更高效、更便捷

    在工业4.0浪潮席卷全球、产业数字化转型加速推进的今天,工控主板作为工业控制领域的核心,其性能与适配能力深度决定了产业升级的深度与效率。国产工控主板以技术创新打破场景局限,凭借灵活适配、稳定可靠、智能互联的核心优势,为千行百业注入强劲动能,推动产业发展
    的头像 发表于 01-07 09:25 310次阅读
    飞腾多元化工控主板:赋能产业发展更智能、<b class='flag-5'>更高效</b>、更便捷

    千兆工业图像采集卡 | 稳定网络传输,适配远程工业检测

    在工业自动化检测迈向远程化、分布式部署的趋势下,千兆工业图像采集卡以其卓越的网络传输稳定性和广泛的场景适配能力,成为连接工业相机与后端处理系统的核心枢纽。千兆工业图像采集卡深度契合远程
    的头像 发表于 12-23 15:58 403次阅读
    千兆工业<b class='flag-5'>图像</b>采集卡 | 稳定网络传输,<b class='flag-5'>适配</b>远程工业检测

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型图像作为输入,通过卷积和池化
    发表于 10-22 07:03

    迅为iTOP-RK3568人工智能开发板mobilenet图像分类模型推理测试

    想快速验证MobileNet图像分类模型的实际运行效果?迅为iTOP-RK3568人工智能开发板,让模型推理测试高效又省心。
    的头像 发表于 08-28 15:53 1605次阅读
    迅为iTOP-RK3568人工智能开发板mobilenet<b class='flag-5'>图像</b><b class='flag-5'>分类</b><b class='flag-5'>模型</b>推理测试

    卫星图像智能合成系统全面解析

    卫星图像智能合成系统全面解析
    的头像 发表于 08-27 14:49 748次阅读
    卫星<b class='flag-5'>图像</b>智能合成系统全面<b class='flag-5'>解析</b>

    RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结

    VGLite是NXP提供的轻量级2D图形API,本文将手把手带你实现VGLite图形驱动适配RT-Thread。文章分为上、下两篇,将手把手教您移植。上篇对RT-ThreadNano内核与Finsh组件进行移植,下篇则教您改写S
    的头像 发表于 07-17 14:40 3724次阅读
    RT-Thread Nano硬核<b class='flag-5'>移植</b>指南:手把手实现VGLite图形驱动<b class='flag-5'>适配</b> | 技术集结

    翼辉信息RealEvo-Stream的高效移植过程

    面向内核、驱动、板级支持包等嵌入式底层开发者,而 RealEvo-Stream 则主要针对应用开发者,其功能偏向上层业务开发、应用适配以及生态软件移植。RealEvo-Stream 可支持多种常用开源
    的头像 发表于 07-05 16:00 1553次阅读
    翼辉信息RealEvo-Stream的<b class='flag-5'>高效</b><b class='flag-5'>移植</b>过程

    【正点原子STM32MP257开发板试用】基于 DeepLab 模型图像分割

    是谷歌团队提出的一种用于语义分割的深度学习模型,属于 DeepLab 系列模型的第三代版本。它在图像语义分割任务中表现优异,能够高效地捕获图像
    发表于 06-21 21:11

    如何使用Docker部署大模型

    随着深度学习和大模型的快速发展,如何高效地部署这些模型成为了一个重要的挑战。Docker 作为一种轻量级的容器化技术,能够将模型及其依赖环境打包成一个可
    的头像 发表于 05-24 16:39 1421次阅读