1 Star 0 Fork 0

hekuikui / Smart-Jiangxia

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

准备环境

1.1 安装依赖

torch-aie其依赖组件为driver驱动包、firmware固件包、CANN开发套件包、推理引擎AscendIE包、torch_npu,使用torch-aie前请提前安装这些依赖库。

简称 安装包全名 默认安装路径 版本约束
driver驱动包 昇腾310P处理器对应驱动软件包:Ascend-hdk-310p-npu-driver_{version}_{os}-{arch}.run /usr/local/Ascend 23.0.rc1及以上
firmware固件包 昇腾310P处理器对应固件软件包:Ascend-hdk-310p-npu-firmware_{version}.run /usr/local/Ascend 23.0.rc1及以上
CANN开发套件包 Ascend-cann-toolkit_{version}_linux-{arch}.run /usr/local/Ascend/ascend-toolkit/latest 7.0.RC1及以上
推理引擎AscendIE包 Ascend-cann-aie_{version}_linux-{arch}.run /usr/local/Ascend/aie/latest 和torch_aie严格配套使用
torch Python的whl包:torch-{version}-cp39-cp39-{os}_{arch}.whl - Python版本3.9.x,torch版本支持1.11、2.0.0、2.0.1
torch_npu(可选) Python的whl包:torch_npu-{version}-cp39-cp39-linux_{arch}.whl - 和上述torch版本配套
  • {version}为软件包版本
  • {os}为系统名称,如Linux
  • {arch}为架构名称,如x86_64

1.1.1 安装驱动和固件

  1. 版本:23.0.rc1
  2. 获取地址
  3. 安装指导手册

1.1.2 CANN 开发套件包

  1. 下载:7.0.RC1.alpha003

  2. 安装:环境准备指导

  3. 快速安装:

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install

1.1.3 推理引擎

安装流程如下:

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-cann-aie_${version}_linux-${arch}.run
./Ascend-cann-aie_${version}_linux-${arch}.run --check

# 方式一:默认路径安装
./Ascend-cann-aie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/aie && source set_env.sh

# 方式二:指定路径安装
./Ascend-cann-aie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/aie && source set_env.sh

1.1.4 torch安装

安装包下载

使用pip安装

# {version}表示软件版本号,{arch}表示CPU架构。
pip install torch-${version}-cp39-cp39-linux_${arch}.whl

1.1.5 libtorchvision安装

参考官方仓库编译安装,安装版本0.16.0

1.2 torch_aie安装

torch_aie支持C++和Python两种方式使用,用户可根据需要选择性安装

1.2.1 Python开发环境安装

tar -xvf Ascend-cann-torch-aie-{version}-linux-{arch}.tar.gz && cd Ascend-cann-torch-aie-{version}-linux-{arch}
# 通过安装脚本进行安装,安装日志与版本信息会被记录到~/var/log/torch_aielog/TorchAie_whl_install.log。以环境中torch的abi为0时作为例子,安装命令如下:
bash whl_install.sh install abi=0
# 可通过以下方式卸载当前安装的whl包
bash whl_install.sh uninstall

1.2.2 C++开发环境安装

安装libtorch1.11/2.0的C++开发环境

# 校验
./Ascend-cann-torch-aie-{version}-linux-{arch}.run --check
# 默认路径安装,安装日志与版本信息会被记录到~/var/log/torch_aielog/TorchAie_run_install.log
./Ascend-cann-torch-aie_${version}_linux-${arch}.run --install
# 也可以指定路径安装,日志与版本信息的存储路径同上
./Ascend-cann-torch-aie_${version}_linux-${arch}.run --install-path=${TorchAIEInstallPath}
# 若安装在默认路径,则按如下方式设置环境变量
cd /usr/local/Ascend/torch_aie && source set_env.sh
# 若安装在指定路径,则按如下方式设置环境变量
cd ${TorchAIEInstallPath}/torch_aie && source set_env.sh

2. 执行推理

2.1 模型预处理

  • 2.1.1 模型转换

    在cuda环境下执行cuda2cpu.py脚本,将smart_jiangxia.pt放在与脚本同一目录下,以生成cpu模型

  • 2.1.2 模型修改

    • a. cpu不支持float16修改

      在模型解压目录下执行 grep "torch.to(" -rn ./查找所有to算子, 并将其中torch.to(x, 5) 改为 torch.to(x, 6)

    • b. device("cuda:0") 修改

      在torch_aie中不支持cuda推理,因此需要将代码中的cuda设备更换为cpu设备 使用 grep "cuda:0" -rn ./ 找到所有代码中的cuda设备 全部改为 torch.device("cpu")

2.2 编译

  • a.按照CMakeLists.txt和build.sh中的提示更换torch aie torch_aie路径信息
  • b.根据test.cpp中提示修改模型路径

2.3 推理

执行命令
```./build/sample```

空文件

简介

暂无描述 展开 收起
C++ 等 4 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/hekuikui/smart-jiangxia.git
git@gitee.com:hekuikui/smart-jiangxia.git
hekuikui
smart-jiangxia
Smart-Jiangxia
master

搜索帮助