Netrans
Netrans 是 PNNA NPU 配套的 AI 编译器,提供命令行工具和 Python API,将深度学习模型转换为 NBG(Network Binary Graph)格式,用于在 PNNA NPU 上部署运行。
特性
多框架支持:ONNX、TensorFlow、TFLite、PyTorch、Caffe、Darknet、Keras
多种量化策略:asymu8、symi8、symi16、fp16、混合量化
前后处理集成:将 mean/scale 预处理和反量化嵌入网络图
多核支持:PNNA2 平台支持 1-4 核配置
安装
1# 克隆仓库
2git clone https://gitlink.org.cn/nudt_dsp/netrans.git ~/app/netrans
3cd ~/app/netrans
4
5# 创建 Python 3.10 环境
6mamba create -n netrans python=3.10 -y
7mamba activate netrans
8
9# 安装
10make install
11source ~/.bashrc
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
1netrans load ./yolov5s --mean 0 0 0 --scale 255
2netrans quantize ./yolov5s asymu8
3netrans export ./yolov5s asymu8 --platform pnna
输出文件:wksp/yolov5s_asymu8_nbg_unify/network_binary.nb
文档
文档 |
内容 |
|---|---|
实用指南、速查表、数据集格式、配置说明、场景示例、故障排查 |
|
Python API 参考 |
|
命令行工具参考 |
|
版本发布记录 |
系统要求
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 主项目相同。