Go to file
xujiao 0521f9d2cc 新增用户yolov5s支持 2026-03-05 13:40:13 +08:00
devtools/support/260304_yolov5s 新增用户yolov5s支持 2026-03-05 13:40:13 +08:00
docs 新增多核配置功能 2026-02-28 09:00:11 +08:00
examples 更新文档 2026-01-06 08:49:51 +08:00
script add nbinfo 2026-03-04 09:23:13 +08:00
src/netrans 修复api量化后未更新metadata的bug 2026-02-28 09:30:27 +08:00
test 修改pre->preprocess.post->postporcess减少歧义 2026-01-15 10:46:47 +08:00
vendor 新增多核配置功能 2026-02-28 09:00:11 +08:00
Makefile Python 3.10 & Acuity 6.33 迁移 2026-02-24 15:50:38 +08:00
README.md update readme 2026-02-24 16:13:11 +08:00
requirements.txt Python 3.10 & Acuity 6.33 迁移 2026-02-24 15:50:38 +08:00
setup.py 新增多核配置功能 2026-02-28 09:00:11 +08:00
setup.sh 修复按照顺序 2026-02-25 10:36:05 +08:00

README.md

Netrans 简介

Netrans 是 PNNA NPU 配套的 AI 编译器,提供命令行工具和 Python API将模型权重转换成在 PNNA NPU 上运行的 NBGNetwork Binary Graph格式文件.nb 后缀。NBG 文件用于后续模型部署和推理工程的交叉编译。

工程结构

netrans/
├── src/netrans          # Python 源码
├── script               # 命令行工具
├── docs                 # 文档
├── examples             # 示例代码
├── vendor               # 第三方依赖acuity whl
├── devtools/packing     # 离线打包配置
├── devtools             # 开发工具(调试脚本等,不提交)
├── tests                # 单元测试
├── test                 # 集成测试
├── setup.py             # Python 包配置
├── setup.sh             # 安装脚本(一键安装)
├── requirements.txt       # Python 依赖
└── README.md            # 本文件

安装指南

系统依赖

  • CPU: Intel® Core™ i5-6500 CPU @ 3.2 GHz x4 或同等性能
  • RAM: 至少 8GB
  • 硬盘: 160GB 剩余空间
  • 操作系统: Ubuntu 20.04 LTS 64-bit with Python 3.10

安装步骤

1. 克隆仓库

git clone https://gitlink.org.cn/nudt_dsp/netrans.git ~/app/netrans
cd ~/app/netrans

2. 创建并激活 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

3. 一键安装

make install
source ~/.bashrc

setup.sh 会依次完成:

  1. 安装 acuityvendor/ 目录中的 whl
  2. 安装 Python 依赖requirements.txt
  3. 安装 netranspip install -e .
  4. 添加 script 目录到 PATH

4. 验证安装

# 验证 Python 包
python -c "import netrans; print(netrans.__version__)"

# 验证命令行工具
netrans --help
netrans-dump --help

快速开始

命令行工具

# 进入示例目录
cd ~/app/netrans/examples/infer_with_pre_post_process/yolov8s

# 激活环境
mamba activate netrans

# 完整转换流程
netrans load ./ --mean 0 0 0 --scale 255 255 255
netrans quantize ./ asymu8
netrans add_pre_post ./ asymu8
netrans export ./ asymu8

Python API

from netrans import Netrans

# 初始化
net = Netrans()

# 加载模型
net.load('./yolov8s', mean=[0, 0, 0], scale=[255])

# 量化
net.quantize('asymu8')

# 添加前后处理
net.add_pre_post('asymu8')

# 导出
net.export('asymu8')

文档

开发安装

如需开发调试,可直接使用 Makefile

make install    # 执行 setup.sh 的完整安装
make setup      # 仅配置环境变量
make clean      # 清理临时文件
make package    # 构建离线安装包

离线安装

如需在无网络环境安装,请参考 devtools/packing/README.md

许可证

与 Netrans 主项目相同。