Go to file
xujiao c793eaa686 fix: harden incremental setup script 2026-07-09 10:56:35 +08:00
.devops refactor: .devops/netrans文档自动同步nudtdocs.yml 2026-04-02 13:59:56 +08:00
.gitea/workflows 创建流水线:sync docs 2 nudt docs 2026-03-10 15:59:07 +08:00
docs chore: keep Makefile user-facing 2026-07-09 10:40:59 +08:00
examples fix: 多输入模型dataset格式修正 + setup.sh前置环境检查 2026-07-03 13:55:13 +08:00
script feat: 优化增量更新流程 2026-07-01 15:47:33 +08:00
src/netrans fix: 多输入模型dataset格式修正 + setup.sh前置环境检查 2026-07-03 13:55:13 +08:00
test fix: 多输入模型dataset格式修正 + setup.sh前置环境检查 2026-07-03 13:55:13 +08:00
vendor update cmdtools-lib 2026-03-25 16:40:06 +08:00
.gitignore feat: 优化增量更新流程 2026-07-01 15:47:33 +08:00
Makefile chore: keep Makefile user-facing 2026-07-09 10:40:59 +08:00
README.md feat: refine incremental update workflow 2026-07-09 10:29:34 +08:00
VERSION feat: 优化增量更新流程 2026-07-01 15:47:33 +08:00
requirements.txt Python 3.10 & Acuity 6.33 迁移 2026-02-24 15:50:38 +08:00
setup.py feat: v6.33.6 — 版本管理机制 + release 补录 7 项变更 + 技术支持报告归档 2026-06-11 10:51:46 +08:00
setup.sh fix: harden incremental setup script 2026-07-09 10:56:35 +08:00

README.md

Netrans

Netrans 是 PNNA NPU 配套的 AI 编译器,提供命令行工具和 Python API将深度学习模型转换为 NBGNetwork Binary Graph格式用于在 PNNA NPU 上部署运行。

特性

  • 多框架支持ONNX、TensorFlow、TFLite、PyTorch、Caffe、Darknet、Keras
  • 多种量化策略asymu8、symi8、symi16、fp16、混合量化
  • 前后处理集成:将 mean/scale 预处理和反量化嵌入网络图
  • 多核支持PNNA2 平台支持 1-4 核配置
  • 调试分析工具:张量导出(dump)、推理验证(inference)、性能测量(measure)、ONNX兼容性检查(check_opset)

安装

# 克隆仓库
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 判断哪些组件发生变化:

  • requirements.txt 变化时重装 Python 依赖
  • vendor/ 变化时重装 acuity
  • script/setup.sh 变化时重新配置环境变量
  • 其他普通代码更新只执行 pip install -e .

强制全量重装

当遇到安装异常或跨版本升级时,使用强制重装:

make reinstall   # 删除本地安装快照,执行全量安装

版本发布时可通过 VERSION 中的 FORCE_REINSTALL_SINCE 设置强制重装门禁。用户当前安装版本低于该门禁时,即使依赖指纹未变化,setup.sh 也会自动执行全量安装。

5分钟上手

Python API

from netrans import Netrans

model = Netrans()
model.load('./yolov5s', mean=[0, 0, 0], scale=255)
model.quantize('asymu8')
model.export('asymu8', platform='pnna')

CLI

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

文档

文档 内容
cookbook.md 实用指南、速查表、数据集格式、配置说明、场景示例、故障排查
netrans_api.md Python API 参考
netrans_cli.md 命令行工具参考
release.md 版本发布记录
support/ 现场问题、边界模型和交付验证记录

系统要求

  • CPU: Intel® Core™ i5-6500 或同等性能
  • RAM: 至少 8GB
  • 硬盘: 160GB 剩余空间
  • OS: Ubuntu 20.04 LTS 64-bit with Python 3.10

工程结构

netrans/
├── src/netrans          # Python 源码
├── script/              # 命令行工具
├── docs/                # 文档
├── examples/            # 示例代码
├── tests/               # 单元测试
├── test/                # 集成测试
├── setup.py             # Python 包配置
├── setup.sh             # 安装脚本(增量安装,自动跳过未变更的组件)
└── README.md            # 本文件

许可证

与 Netrans 主项目相同。