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 以实现高效部署,根据学习操作~

相关推荐
老刘说AI8 分钟前
AI服务核心: 高并发原理与性能监控调优
人工智能·神经网络·langchain·llama·持续部署
GeekArch11 分钟前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
二川bro35 分钟前
从提示工程→Loop循环→Graph图架构,2026AI开发者终极演进路线
人工智能
汤姆yu36 分钟前
CodeGeeX 4完整安装与实操使用全指南
人工智能·windows·ai·智能体·视频模型
乐鑫科技 Espressif40 分钟前
用 AI 开发 Zephyr-IoT 应用
人工智能·物联网·esp32·乐鑫科技·zephyr
数智化管理手记44 分钟前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
G***技1 小时前
从电路角度看嵌入式主板IB3-771的“不死机”设计
人工智能·边缘计算·嵌入式主板
matlab代码1 小时前
基于CNN卷积神经网络交通标志识别系统 (GUI界面 数字图像处理)【源码48期】
人工智能·神经网络·cnn·交通标志识别
培之1 小时前
RTX 5090 安装 pytorch3d
人工智能·pytorch·python