eIQ Neutron 是否支持 i.MX 上的 NPU 加速的 Vision Transformer (RF-DETR / DETR) 转换目标
- 部署 RF-DETR Nano (视觉变压器+DETR头)开启 NXP FRDM-IMX95
- 运行推理 eIQ Neutron NPU 通过 libneutron_delegate.so
- 需要确认: eIQ 是否支持基于视觉转换器的 NPU 加速模型?
我的板详情
- 板: NXP FRDM-IMX95 (imx95-15x15-lpddr4x-frdm)
- 核心: Linux 6.18.2-1.0.0-gf49f45233f7b (aarch64,2026年2月)
- 中央处理器: 6 个 ARM Cortex-A55 处理器(500–1800 MHz)
- NPU: eIQ Neutron-S ( libneutron_delegate.so )
- 使用的指南: FRDM i.MX95 入门指南 – NPU 部分
模型和管道试验
- 模型: RF-DETR Nano (DINOv2 ViT 主干网 + DETR 解码器)
- 输入: 384×384,COCO 80 类
- 流动:
- PyTorch → ONNX(选项集 18)
- ONNX → TFLite onnx2tf (-fdosm 对于 SavedModel)
- TFLite 动态范围量化(float32 I/O)— CPU推理工作正常
- 主持人: neutron-converter --input model.tflite --output model_neutron.tflite --target imx95
- 板:TFLite + Neutron 代表
哪些方法有效
- ONNX导出成功
- TFLite转换成功(约30MB模型)
- CPU推断正确 — 检测结果与 PyTorch 匹配(测试图像中的狗/人/汽车)
- 该模型在 FRDM 上运行,无论是否使用委托。
失败/阻塞的原因
- 转换后未创建 NPU 图
- 检查转换 .tflite : 不 中子图 / 中子操作员 标记
- 中子代表似乎卸载 0 个节点 → 完整 CPU回退
- 完整的 INT8 量化失败 关于变压器操作(范围, (例如,除法)
- 用过的 动态范围量化 改为(权重量化,float32 I/O)
为什么我认为它不受支持(需要确认)
- RF-DETR 是 transformer-heavy :注意,BatchMatMul,Softmax,LayerNorm,Gather 等。
- Neutron 文档列表主要 CNN运营 (Conv2D、DepthwiseConv2D、池化、加法……)
- 需要采用类似的拆分模型方法 瑞芯微NPU (主干部分在NPU上,解码器在CPU上):
rfdetr-on-rockchip-npu
我的具体问题
- i.MX95 上的 eIQ Neutron 是否支持端到端视觉转换器模型(ViT / DETR / RF-DETR)?
- 如果 不,那是什么? 建议拆分 (例如DNOv2 主干网位于 NPU 上,DETR 头位于 CPU 上)?
- 是 批量多头注意力 当前 SDK 中是否支持 Neutron-S for i.MX95?
- 哪个 eIQ 工具包版本 匹配 BSP 内核 6.18.2-1.0.0 适用于 FRDM-IMX95?
- 我们应该使用恩智浦半导体吗? tflite-profiler + tflite-quantizer 为了更好地兼容NPU,为什么不使用onnx2tf动态范围量化呢?
- 任何 参考示例 适用于 i.MX95 Neutron 上的变压器或 DETR 型型号
使用的命令(用于复现问题)
主机(转换):
--输入rf_detr_nano_full_int8.tflite \
--输出rf_detr_nano_neutron_imx95.tflite \
板(推断):
python3 redetr_test_neutron_imx95.py \
--model rf_detr_nano_neutron_imx95.tflite \
--delegate /usr/lib/libneutron_delegate.so
预期问题: 转换后的模型没有 中子图 → 不支持NPU加速。
请确认:
- 是 支持视觉转换器 NPU 加速 今天在 i.MX95 上?
- 如果不是,那又是什么呢? 官方解决方法 (模型拆分、不同的导出路径,还是未来的路线图)?
Re: Does eIQ Neutron support Vision Transformer (RF-DETR / DETR) conversion for NPU acceleration on你好,
Q1- Neutron N3.2 引入了专用硬件功能,可高效支持现代 GenAI 工作负载,包括语言模型 (LLM)、视觉 Transformer (ViT) 和 Transformer 派生算子。它还指出:“视觉转换器不需要动态形状,因此可以自然地集成到现有的 Neutron 变流器管道中。”它们的实现主要得益于扩展的运算符集和改进的量化选项(仍在开发中)。
Q2- 是的,不支持的操作会自动回退到 CPU。
Q3- 所有张量量化必须为 INT8,而不是 float32。Neutron 上的 BatchMatMul 仅对量化的 INT8 张量进行操作
第四季度 - 升级到最新的 电路板支持包 + SDK 3.2.2,以获得最佳的变压器运营商覆盖率。
Q5- 没错,这是推荐的做法。
Q6- 目前还没有公开的端到端DETR示例。
此致问候