极智AI | 昇腾CANN ATC模型转换

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 大家好,我是极智视界,本文介绍一下 昇腾 CANN ATC 模型转换。

大家好,我是极智视界,本文介绍一下 昇腾 CANN ATC 模型转换

昇腾 CANN 的全称是 Compute Architecture for Neural Networks,是昇腾针对 AI 场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。用过昇腾的同学应该都清楚,需要把咱们的原始模型 (可能是 pytorch 的,可能是 tf 的,可能是 caffe 的,也可能是 darknet 的) 转换成 .om 模型,然后才能调用 AclLiteModel::ExecuteEx() 进行模型的推理。这个 模型转换的过程 就要用到 CANN 的 ATC 工具。目前 ATC 工具直接支持从 caffe、onnx、tf pb 以及 mindspore 模型的转换,所以如果你的训练框架是 pytorch,则需要做 torch.onnx.export 的操作;如果你的训练框架是 darknet,则需要做 darknet -> caffedarknet -> onnx 的转换,之后才能用到 ATC。以上说的是整网模型,当然 ATC 还支持用 Ascend IR 定义的单算子的 om 转换。因此就形成了如下的 ATC 功能架构图:

在使用 ATC 流程时,需要先安装好 CANN 开发环境,然后准备好需要转换的模型文件(caffemodel、onnxmodel、pbmodel、mindsporemodel、json单算子模型),然后可以开始使用 ATC(可选 AIPP 配置)。整体ATC 工具的执行流程如下:

来解释一下 AIPP 配置:AIPP 是 ATC 的高级功能,AIPP 全称 Artificial Intelligence Pre-Processing 智能图像预处理,用于在昇腾 AI Core 上完成图像预处理,包括改变图像尺寸(crop + padding,reisze(暂时还不支持))、色域转换 (转换图像格式:BGR->RGB、YUV->BGR 等)、归一化 (减均值除方差),在 AIPP 图像数据预处理之后再把数据喂给模型推理。可以说,有了 AIPP,你一般不用在模型外面再自己写预处理了。自己在模型外面写预处理有几个弊端:(1) 开发 AI Core 是有门槛的 (TBE 或 TIK开发方式);(2) 如果你用 AI CPU (注意:所谓的 AI CPU 也是昇腾卡上的计算资源,不是直观理解的 CPU) 去写预处理算子,一方面也是有门槛的 (可能比 AI Core 开发门槛低一点),另一方面性能也不会好到哪里去;(3) 如果你干脆就直接跑在 CPU 上,那么可能会涉及 deviceTohost / hostTodevice 的数据拷贝,而且本身 CPU 就比较慢。

下面我整理了一下 ATC 的传参,主要包括 总体选项输入选项输出选项目标芯片选项功能配置选项模型调优选项算子调优选项调试选项,如下:


好了,以上分享了 昇腾 CANN ATC 模型转换,希望我的分享能对你的学习有一点帮助。


logo_show.gif

相关文章
|
3天前
|
机器学习/深度学习 人工智能 并行计算
"震撼!CLIP模型:OpenAI的跨模态奇迹,让图像与文字共舞,解锁AI理解新纪元!"
【10月更文挑战第14天】CLIP是由OpenAI在2021年推出的一种图像和文本联合表示学习模型,通过对比学习方法预训练,能有效理解图像与文本的关系。该模型由图像编码器和文本编码器组成,分别处理图像和文本数据,通过共享向量空间实现信息融合。CLIP利用大规模图像-文本对数据集进行训练,能够实现zero-shot图像分类、文本-图像检索等多种任务,展现出强大的跨模态理解能力。
16 2
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
当语言遇见智慧火花:GPT家族历代模型大起底,带你见证从平凡到卓越的AI进化奇迹!
【10月更文挑战第6天】随着自然语言处理技术的进步,GPT系列模型(Generative Pre-trained Transformers)成为该领域的明星。从GPT-1的开创性工作,到GPT-2在规模与性能上的突破,再到拥有1750亿参数的GPT-3及其无需微调即可执行多种NLP任务的能力,以及社区驱动的GPT-NeoX,这些模型不断进化。虽然它们展现出强大的语言理解和生成能力,但也存在如生成错误信息或偏见等问题。本文将对比分析各代GPT模型的特点,并通过示例代码展示其部分功能。
48 2
|
4天前
|
人工智能 自然语言处理
从迷茫到精通:揭秘模型微调如何助你轻松驾驭AI新热点,解锁预训练模型的无限潜能!
【10月更文挑战第13天】本文通过简单的问题解答形式,结合示例代码,详细介绍了模型微调的全流程。从选择预训练模型、准备新任务数据集、设置微调参数,到进行微调训练和评估调优,帮助读者全面理解模型微调的技术细节和应用场景。
22 6
|
12天前
|
人工智能 自然语言处理 安全
【通义】AI视界|Adobe推出文生视频AI模型,迎战OpenAI和Meta
本文精选了过去24小时内的重要科技新闻,包括微软人工智能副总裁跳槽至OpenAI、Adobe推出文本生成视频的AI模型、Meta取消高端头显转而开发超轻量设备、谷歌与核能公司合作为数据中心供电,以及英伟达股价创下新高,市值接近3.4万亿美元。这些动态展示了科技行业的快速发展和激烈竞争。点击链接或扫描二维码获取更多资讯。
|
9天前
|
机器学习/深度学习 人工智能 TensorFlow
解锁AI潜力:让开源模型在私有环境绽放——手把手教你搭建专属智能服务,保障数据安全与性能优化的秘密攻略
【10月更文挑战第8天】本文介绍了如何将开源的机器学习模型(如TensorFlow下的MobileNet)进行私有化部署,包括环境准备、模型获取与转换、启动TensorFlow Serving服务及验证部署效果等步骤,适用于希望保护用户数据并优化服务性能的企业。
24 4
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
揭开模型微调Fine-Tuning的神秘面纱:如何在预训练基础上巧妙调整,解锁定制AI解决方案的秘密武器
【10月更文挑战第8天】模型微调是在预训练模型基础上,利用特定领域数据进一步训练,以优化模型在特定任务上的表现。此方法广泛应用于自然语言处理和计算机视觉等领域,通过调整预训练模型的部分或全部参数,结合适当的正则化手段,有效提升模型性能。例如,使用Hugging Face的Transformers库对BERT模型进行微调,以改善文本匹配任务的准确率。
21 1
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)
|
16天前
|
人工智能 自然语言处理 搜索推荐
Sora - 探索AI视频模型的无限可能
这篇文章详细介绍了Sora AI视频模型的技术特点、应用场景、未来展望以及伦理和用户体验等方面的问题。
19 0