目录

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 核配置

安装

# 克隆仓库
git clone https://gitlink.org.cn/nudt_dsp/netrans.git ~/app/netrans
cd ~/app/netrans

# 创建 Python 3.10 环境
mamba create -n netrans python=3.10 -y
mamba activate netrans

# 安装
make install
source ~/.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

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 版本发布记录

系统要求

  • 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 主项目相同。

关于

netrans 是一套针对pnna 芯片的模型处理工具,提供命令行工具 netrans_cli 和 python api netrans_py, 其核心功能是将模型权重转换成在pnna芯片上运行的 nbg(network binary graph)格式(.nb 为后缀)。

6.0 GB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号