Go to file
xujiao aacbb55149 模型导入脚本 2025-08-21 09:45:04 +08:00
docs 添加开发计划 2025-07-31 13:55:01 +08:00
examples 优化example使用说明,需要返回上级目录不能直接在项目目录执行 2025-07-21 09:20:46 +08:00
test/netrans_py 调整目录结构 2025-08-18 16:38:16 +08:00
README.md Update README.md 2025-08-18 17:06:28 +08:00
export_nbg.py 增加 netrans 脚本 2025-08-18 16:39:41 +08:00
importer.py 模型导入脚本 2025-08-21 09:45:04 +08:00
netrans.py 增加 netrans 脚本 2025-08-18 16:39:41 +08:00
quantize.py 增加 netrans 脚本 2025-08-18 16:39:41 +08:00
quantize_types.py 增加 netrans 脚本 2025-08-18 16:39:41 +08:00
setup.sh add install netrans_py 2025-04-09 10:47:22 +08:00

README.md

Netrans 简介

Netrans 是Pnna NPU 配套的AI编译器提供命令行工具 netrans_cli 和 python api netrans_py 其功能是将模型权重转换成在 Pnna NPU 上运行的 nbgnetwork binary graph格式文件.nb 后缀)。 Nbg 文件用于后续模型部署和推理工程的交叉编译。

工程结构

Netrans 目录结构如下:

netrans/
├── bin/                     # 编译器可执行文件
├── docs/                    # 项目文档
├── examples/                # 示例工程
├── test/                    # 测试目录
├── netrans.py               # Netrans python api
├── importer.py              # 模型导入脚本
├── quantize.py              # 模型量化脚本
├── export_nbg.py            # 模型导出脚本
├── README.md                # 说明
├── setup.sh                 # 安装脚本
├── pyproject.toml           # 依赖配置文件
└── uv.lock

安装指南

系统依赖

  • CPU Intel® Core™ i5-6500 CPU @ 3.2 GHz x4 支持 the Intel® Advanced Vector Extensions.
  • RAM 至少8GB
  • 硬盘 160GB
  • 操作系统 Ubuntu 20.04 LTS 64-bit with Python 3.8,不推荐使用其他版本

安装步骤

  • 安装依赖
sudo apt update
sudo apt install build-essential
  • 创建 python3.8 环境
# 下载虚拟环境管理工具 mamba 的安装脚本 
wget "https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease//Miniforge3-$(uname)-$(uname -m).sh"
# 创建 mamba 的安装目录
mkdir -p ~/app
# 安装 mamba 到 ~/app/ 
bash Miniforge3-Linux-x86_64.sh -b -p ${HOME}/app/miniforge3
# 添加 mamba 的初始化脚本到环境配置文件
echo "source " ${HOME}/app/miniforge3/etc/profile.d/mamba.sh"" >> ${HOME}/.bashrc
# 重新加载 ~/.bashrc 文件,使 mamba 初始化生效
source ${HOME}/.bashrc
# 创建一个名为 netrans 的虚拟环境,并安装 Python 3.8
mamba create -n netrans python=3.8 -y
# 激活 netrans 虚拟环境
mamba activate netrans
  • 下载 Netrans
# 下载 Netrans 到 /app
cd ~/app
git clone https://gitlink.org.cn/nudt_dsp/netrans.git
  • 运行配置脚本
cd ~/app/netrans
./setup.sh

Netrans 使用说明

Netrans 提供 Tensorflow、Caffe、Darknet、ONNX 和 Pytorch 的模型转换示例,请参考 示例

命令行工具

Netrans 提供了简单的命令行接口,用于编译和优化模型。 基本用法

model_path='examples/darknet/yolov4_tiny'
python3 importer.py ${model_path}  # 模型导入
python3 quantize.py ${model_path} asymu8 # 模型量化
python3 export_nbg ${model_path} asymu8 # 模型导出

详细说明请参考netrans 命令行使用说明

Python接口

通过Netrans Python接口可以方便地在Python脚本中调用编译器。 示例代码:

from nertans import Netrans
model_path = 'examples/darknet/yolov4_tiny'

# 初始化netrans
net = Netrans()
# 模型载入
net.load(model_path)
# 模型量化
net.quantize("asymu8")
# 模型导出
net.export("asymu8")

详细说明请参考netrans api 使用说明