airockchip / rknn_model_zoo

Apache License 2.0
1.01k stars 185 forks source link

请问yolov8n.pt转化为rknn的模型不包含类别信息吗? #166

Open Alhambra-H opened 2 months ago

Alhambra-H commented 2 months ago

请问yolov8n.pt转化为rknn后的模型不包含类别名称信息吗?在推理的时候需要自己手动填入类别信息? 以下是rknn_model_zoo中examples下yolov8/python/yolov8.py的25行代码 image

Sos-Zachary commented 2 months ago

好像是的.需要在代码中包含label的列表或者读取外部label名文件,如https://github.com/airockchip/rknn_model_zoo/blob/main/examples/yolov5/model/coco_80_labels_list.txt image

Alhambra-H commented 2 months ago

好像是的.需要在代码中包含label的列表或者读取外部label名文件,如https://github.com/airockchip/rknn_model_zoo/blob/main/examples/yolov5/model/coco_80_labels_list.txt image

感觉不是很科学哇QAQ... 我现在获取类别信息都是用yolo加载一下原来的pt文件读取,然后传给rknn推理用...

Sos-Zachary commented 2 months ago

@Alhambra-H 我觉得你的思路也不错的。在我个人来看,其实官方这种用法更加符合我使用的直觉。在标注yolo模型的训练图片的时候,通常需要我们提供一个labels_list.txt用于转换yolo格式的训练数据,后面只需要把训练标注时使用到的同一个labels_list.txt文件在推理初始化时进行读取,就可以将输出索引对应类别名称字符串,一个文件多用,挺方便的。 简单来说就是,这个labels_list.txt经历过训练部署的流程后,就算是仅仅为了拿到pt模型,这个txt也是大概率是会创建的,读取的代码rk官方也已经有相关参考了,不会造成多少麻烦。但为什么rknn不将类别也内置在模型数据中,这个我也不清楚哈哈