fix: harden incremental setup script
Netrans 是 PNNA NPU 配套的 AI 编译器,提供命令行工具和 Python API,将深度学习模型转换为 NBG(Network Binary Graph)格式,用于在 PNNA NPU 上部署运行。
# 克隆仓库 git clone https://gitlink.org.cn/nudt_dsp/netrans.git ~/app/netrans cd ~/app/netrans # 创建 Python 3.10 环境 # 使用 mamba(推荐) # 下载并安装 miniforge(包含 mamba) wget https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.sh -b -p $HOME/app/miniforge3 echo "export MAMBA_ROOT_PREFIX=${HOME}/app/miniforge3" >> ${HOME}/.bashrc echo "source " ${HOME}/app/miniforge3/etc/profile.d/mamba.sh"" >> ${HOME}/.bashrc source "$HOME/app/miniforge3/etc/profile.d/mamba.sh" # 创建并激活环境 mamba create -n netrans python=3.10 -y mamba activate netrans # 安装(首次全量,后续自动增量) make install source ~/.bashrc
已安装用户在源码目录执行:
cd ~/app/netrans make update
make update 会先拉取最新代码,再调用 setup.sh 做增量安装。增量安装根据本地 .install_state 判断哪些组件发生变化:
make update
setup.sh
.install_state
requirements.txt
vendor/
script/
pip install -e .
当遇到安装异常或跨版本升级时,使用强制重装:
make reinstall # 删除本地安装快照,执行全量安装
版本发布时可通过 VERSION 中的 FORCE_REINSTALL_SINCE 设置强制重装门禁。用户当前安装版本低于该门禁时,即使依赖指纹未变化,setup.sh 也会自动执行全量安装。
VERSION
FORCE_REINSTALL_SINCE
from netrans import Netrans model = Netrans() model.load('./yolov5s', mean=[0, 0, 0], scale=255) model.quantize('asymu8') model.export('asymu8', platform='pnna')
netrans load ./yolov5s --mean 0 0 0 --scale 255 netrans quantize ./yolov5s asymu8 netrans export ./yolov5s asymu8 --platform pnna
输出文件:wksp/yolov5s_asymu8_nbg_unify/network_binary.nb
wksp/yolov5s_asymu8_nbg_unify/network_binary.nb
netrans/ ├── src/netrans # Python 源码 ├── script/ # 命令行工具 ├── docs/ # 文档 ├── examples/ # 示例代码 ├── tests/ # 单元测试 ├── test/ # 集成测试 ├── setup.py # Python 包配置 ├── setup.sh # 安装脚本(增量安装,自动跳过未变更的组件) └── README.md # 本文件
与 Netrans 主项目相同。
netrans 是一套针对pnna 芯片的模型处理工具,提供命令行工具 netrans_cli 和 python api netrans_py, 其核心功能是将模型权重转换成在pnna芯片上运行的 nbg(network binary graph)格式(.nb 为后缀)。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Netrans
Netrans 是 PNNA NPU 配套的 AI 编译器,提供命令行工具和 Python API,将深度学习模型转换为 NBG(Network Binary Graph)格式,用于在 PNNA NPU 上部署运行。
特性
安装
日常更新
已安装用户在源码目录执行:
make update会先拉取最新代码,再调用setup.sh做增量安装。增量安装根据本地.install_state判断哪些组件发生变化:requirements.txt变化时重装 Python 依赖vendor/变化时重装 acuityscript/或setup.sh变化时重新配置环境变量pip install -e .强制全量重装
当遇到安装异常或跨版本升级时,使用强制重装:
版本发布时可通过
VERSION中的FORCE_REINSTALL_SINCE设置强制重装门禁。用户当前安装版本低于该门禁时,即使依赖指纹未变化,setup.sh也会自动执行全量安装。5分钟上手
Python API
CLI
输出文件:
wksp/yolov5s_asymu8_nbg_unify/network_binary.nb文档
系统要求
工程结构
许可证
与 Netrans 主项目相同。