AI项目国产化
随着外部环境的变化,很多项目都开始提行国产化替代,包括操作系统,CPU,加速卡。最近接收手国产化信创项目,记录一下整个项目过程,从硬件选型到软件环境搭建,给后来的小伙伴们提供一点思路。
硬件选型
通过一段时间调研,国产化CPU支持X86也支持arrch64,但是发现国产化CPU与NPU兼容性并不是很好,基本上一个CPU厂商只能适配一款国产化NPU,做ai,更多是关注NPU,通过调研发现国内华为软、硬件生态较好,论坛、资源相对完善,故选择华为atlas300ipro 作为推理卡,CPU为鲲鹏920。
软件安装
最好先创建一个非root用户”HwHiAiUser“(昇腾指定用户名), sudo useradd HwHiAiUser sudo passed HwHiAiUser
下载好驱动和固件(根据自己硬件及操作系统选择)
https://www.hiascend.com/hardware/firmware-drivers/community?product=2&model=15&cann=8.0.0.alpha001&driver=1.0.25.alpha 安装: chmod +x Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run chmod +x Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run ./Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run –full ./Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run –full sudo npu-smi info
驱动安装完成。
CANN开发工具包安装(HwHiAiUser用户)
下载连接:https://www.hiascend.com/developer/download/community/result?module=cann&cann=8.0.RC2.2.beta1 chmod +x Ascend-cann-toolkit_8.0.RC2.2_linux-aarch64.run ./Ascend-cann-toolkit_8.0.RC2.2_linux-aarch64.run –install 安装cann-toolkit提示错误:
wget https://bootstrap.pypa.io/pip/3.7/get-pip.py python3 get-pip.py ./Ascend-cann-toolkit_8.0.RC2.2_linux-aarch64.run –install
安装推理包(可选 轻量化工具)
https://www.hiascend.com/developer/download/community/result?module=cann&cann=8.0.RC2.2.beta1 chmod +x Ascend-cann-kernels-310p_8.0.RC2_linux.run ./Ascend-cann-kernels-310p_8.0.RC2_linux.run –install
添加系统环境变量:
vim ~/.bashrc CANN_INSTALL_PATH 代表你安装的CANN工具包所在的目录,需要自己替换 export LD_LIBRARY_PATH=CANN_INSTALL_PATH/ascend-toolkit/latest/x86_64-linux/devlib/:$LD_LIBRARY_PATH source CANN_INSTALL_PATH/ascend-toolkit/set_env.sh 默认CANN_INSTALL_PATH =/home/HwHiAiUser/Ascend
测试工具包是否安装成功
python import acl
模型转换
单张输入: atc –model=best.onnx –framework=5 –output=test –input_shape=“images:1,3,640,640” –soc_version=Ascend310P3 多batch输入: atc –model=best.onnx –framework=5 –output=test –soc_version=Ascend310P3 –input_shape=“images:-1,3,768,1280” –dynamic_batch_size=“1,2,10” –output_type=FP16 –input_format=NCHW –model:ONNX模型文件存储路径; –framework:原始框架类型,5表示ONNX; –output:离线om模型的路径以及文件名,不带后缀; –soc_version:昇腾AI处理器的型号,npu-smi info 查看Ascend+XXX; –input_shape:执行推理时模型输入数据的shape; –dynamic_batch_size:动态尺寸范围; –output_type:输出参数类型 –input_format:输入维度信息
昇腾开发软件生态参考地址:
https://github.com/Ascend ;https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/devguide/devguide/devguide_0001.html;
评论前必须登录!
注册