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

相关推荐
Cvmax几秒前
xStocks.fi:DeFi 领域的代币化股票与 ETF 创新
大数据·人工智能·区块链
研究点啥好呢3 分钟前
3月15日GitHub热门项目推荐 | 从本地部署到生产实践
人工智能·python·github·cursor·vibe coding
永霖光电_UVLED3 分钟前
CEA-Leti 与法国初创公司 NcodiN 旨在通过 300mm 集成光子学工艺
人工智能
no_work3 分钟前
卷积神经网络cnn图像识别项目合集
人工智能·python·深度学习·神经网络·机器学习·cnn
Keep_Trying_Go4 分钟前
基于GAN的文生图算法详解(Text to Image Generation with Semantic-Spatial Aware GAN)
人工智能·pytorch·神经网络·生成对抗网络·计算机视觉
无垠的广袤8 分钟前
【ChatECNU 大语言模型】基于 Linux 开发板的 OpenClaw 部署方案
linux·人工智能·语言模型
zzb15809 分钟前
Agent学习-ReAct框架
java·人工智能·python·机器学习·ai
xier_ran9 分钟前
【第二周】关键词解释:RAG (Retrieval-Augmented Generation,检索增强生成)
人工智能·语言模型·prompt·rag
Dxy123931021610 分钟前
PyTorch的OneCycleLR详细介绍:解锁“超级收敛”的油门控制术
人工智能·pytorch·python
wasp52011 分钟前
MiroFish 核心技术:重塑 AI 仿真的工程范式
人工智能