DeiT:量化 Vision Transformers 以实现高效部署

随着各行业对先进计算机视觉系统的需求持续激增,视觉变压器的部署已成为研究人员和从业者的焦点。然而,要充分发挥这些模型的潜力,需要对其架构有深入的了解。此外,制定有效部署这些模型的优化策略也同样重要。

使用平台:

OpenBayes贝式计算:点击注册可 get 4 小时 4090

登陆后,点击「公共教程」,找到「DeiT:量化 Vision Transformers 以实现高效部署」,该教程已经搭建好了环境。

点击「克隆」,将教程克隆至自己的容器。

分配资源完成后,当状态显示为「运行中」后,点击打开工作空间。

打开左侧 ViT.ipynb 文件

先运行 !pip install --user transformers==4.38.2 timm==0.9.16 这个代码,等待它安装依赖,安装好依赖后需要重启内核否则会显示缺失。

可以使用一张足球的图片来做检测,可以得到检测结果为足球。

ini 复制代码
#预测图片的地址
    image_path = "./pic/football.jpg"
    image_array = img.open(image_path)
    #Vit模型地址
    vision_encoder_decoder_model_name_or_path = "./my_model/"
    #加载ViT特征转化and预训练模型
    #feature_extractor = ViTFeatureExtractor.from_pretrained(vision_encoder_decoder_model_name_or_path)
    #model = ViTForImageClassification.from_pretrained(vision_encoder_decoder_model_name_or_path)
    feature_extractor = ViTFeatureExtractor.from_pretrained('google/vit-base-patch16-224')
    model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224')
    #使用Vit特征提取器处理输入图像,专为ViT模型的格式
    inputs = feature_extractor(images = image_array, 
                               return_tensors="pt")
    #预训练模型处理输入并生成输出 logits,代表模型对不同类别的预测。
    outputs = model(**inputs)
    #创建一个变量来存储预测类的索引。
    logits = outputs.logits
    # 查找具有最高 Logit 分数的类的索引
    predicted_class_idx = logits.argmax(-1).item()
    print(predicted_class_idx)
    #805
    print("Predicted class:", model.config.id2label[predicted_class_idx])
    #预测种类:足球

然后我们将一些所需要的模型转移到指定文件夹内。

然后再使用这个 DeiT 模型对图片进行分类。

这里会打印一个它的类别索引,是 978。

下面是一些代码的分解。

这是对模型的一些量化。

量化完成后会保存到左侧文件夹内。

模型优化完成后也会保存到左侧文件夹内。

可以对这个模型进行精简,部署在移动或者边缘设备上。

然后我们再对一些模型的变形体进行推理速度的的检测。

在完成后,就会对每个模型的推理事件进行一个检测。

如果觉得文字教程不好理解,可以在 B 站搜索视频 DeiT:量化 Vision Transformers 以实现高效部署,根据学习操作~

相关推荐
外域速览2 小时前
OpenAI 智能体「越狱」风波未平,苹果折叠屏 iPhone Ultra 下周三登场
人工智能·ios·iphone
william_yangshun6 小时前
【AI Agent 实战】agent-vision-toolkit 中文版:给纯文本模型(DeepSeek)装上视觉能力
人工智能·多模态
智能体与具身智能6 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
AI智能体工作室6 小时前
生产级 RAG 检索增强架构实战:向量数据库、混合检索(Hybrid Search)、RRF 融合与重排(Rerank)全链路
人工智能
geinvse_seg6 小时前
我做了个 AI 架构审查员,把整个微服务项目通读了一遍,还顺手做成了 Skill
人工智能
李帅朋6 小时前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络
醍醐实验室6 小时前
下一代端到端全模态(Omni)模型解密:离散音频 Token 化与极速双工流式交互架构
人工智能
米小虾7 小时前
你的 Agent 有 1000 万上下文,为什么第 50 轮就开始失忆?
人工智能·agent
东风破_7 小时前
Text2SQL :用自然语言操作 SQLite 数据库
人工智能·后端
吴佳浩 Alben7 小时前
Agent 怎么做自动化评测?构建端到端的 Agent Evaluation 体系
人工智能·语言模型·架构·自动化·ai编程