输入输出层名称对照表
- 更新时间:2026-02-08 19:43:43
输入输出层名称对照表
使用任何模型之前,确保param文件的输入层名称和输出层名称一致。
输入输出层名称对照表
在onnx转换为ncnn模型文件的时候,如果导出的param文件中输入输出层对应不上,则会出现闪退。为此,我将源码中的输入输出层罗列出来,方便开发者们对照各个版本的输入输出层名称来调整模型转换参数。
YoloV5版本后面输出层的两个"数字"需要看param文件的末尾"Permute"开头的行
例如:
两个Permute行的输出层分别是:781、801 (需要你自己找找看,有一定规律,一般在"0=1"这个字段前一个,或者 1 1 800 801 这里的801就是第三个输出层名称)
那么在脚本开发的过程中如何设置yolo的输入输出层的名称呢?仔细观察输入输出层名称对照表,可以发现输入层的名称是固定的,只有一个,而输出层的名称要么是一个,要么就是三个,因此我提供了三个函数用来配置:
其实将pt或者onnx转为ncnn模型有狠多坑要踩,为了减少一些乱七八糟的坑,我提供了输入输出层名称对照表,方便开发者们配置。
默认参数对照表
使用'$yolo.config()'即可配置参数,设计这个函数的主要作用是用来调优的,如果不配置则使用默认配置数据。
参数说明:不需要配置的参数填null即可
- targetSize {int} : 期望的输入图像边长(通常为正方形),例如 640 表示 640×640 像素。图像会被缩放至该尺寸后输入网络
- meanVals {float[3]} : 图像通道归一化的均值,格式为[B_mean, G_mean, R_mean] 元素范围:(0-255)
- normVals {float[3]} : 图像通道归一化的标准差,格式为[B_std, G_std, R_std] 元素范围:(0.001-0.1)
- useGpu {boolean} : 是否使用 GPU 加速
- probThreshold {float} : 过滤低置信度预测框的阈值,范围[0,1]
- nmsThreshold {float} : 抑制重叠检测框的阈值,范围[0,1]
但是我在开发yolo系列的时候,发现有些版本对于配置参数的支持也是不一样的,所以我在C/C++中尽可能的完善了所有yolo的配置参数, 不过呢还是存在无法完成的配置参数,具体的配置支持度如下:
打Y的表示支持配置此参数,打N表示不支持此参数,如果配置了这个参数也不会生效。
总的来说,除了YoloV10不支持NMS阈值配置外,其他版本都支持全部配置。
如何查看输出层名称
让我们来学习几个param文件是如何查看输出层名称的吧:
在yolo5的param文件后面几行可以在0=1的地方看到781、801这样的名称作为输出层名称,所以yolo5的坑是最隐蔽的,很多人训练完模型后,高高兴兴的用移动端部署运行模型,结果闪退报错等等。

在yolo8的param文件中可以找到最后一行看到output这样的输出层名称

在yolo11的param文件中:可以看见out0、out1、out2这样的输出层名称
