请问怎么将yolov4-tiny训练出来的pth文件转weights文件
哈喽,YOLOv4-tiny模型训练完成后会生成一个pth文件,该文件包含模型的全部参数信息,但Darknet框架需要使用weights格式的文件。所以需要将pth文件转换为weights文件,步骤如下:
model = torch.jit.load('yolov4-tiny.pth') # 加载pth模型文件
model.eval() # 设置为评估模式
5. 执行torch2trt将模型转换为TensorRT形式,命令为:
bash
torch2trt yolov4-tiny.py yolov4-tiny.pth
该命令会生成yolov4-tiny_trt.pth和yolov4-tiny_trt_int8.pth两个文件。
6. 执行torch2onnx将TensorRT模型文件转换为ONNX格式,命令为:
bash
torch2onnx --input-file yolov4-tiny_trt.pth --output-file yolov4-tiny.onnx
7. 使用yolo_to_onnx.py工具将ONNX模型转换为Darknet算子和权重文件,命令为:
bash
python yolo_to_onnx.py yolov4-tiny.onnx yolov4-tiny.cfg yolov4-tiny_last.weights
该命令会生成yolov4-tiny_last.weights文件,这就是YOLOv4-tiny模型的weights文件了。
8. 将yolov4-tiny_last.weights文件拷贝到darknet/cfg文件夹下,这样就可以使用YOLOv4框架进行预测了。
以上就是将YOLOv4-tiny的pth文件转换为darknet所需的weights文件步骤。总体来说需要依赖pytorch、torch2trt和onnx进行模型转换和导出。如果在转换过程中遇到问题或有疑问,欢迎与我交流,祝君好运
目录
python使用yolov3/yolov3-tiny训练好的权重文件.weights进行行人检测,批量测试自定义文件夹下的图片并输出至指定文件夹无法解决该问题。