# pytorch-yolo **Repository Path**: ecustdmf/pytorch-yolo ## Basic Information - **Project Name**: pytorch-yolo - **Description**: 使用PyTorch框架进行YOLO系列模型的训练,包括YOLOv3系列、YOLOv5系列等,用于DMF液滴检测。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-06-02 - **Last Updated**: 2021-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # YOLO PyTorch版本 使用PyTorch框架进行YOLO系列模型的训练,包括YOLOv3系列、YOLOv5系列等,用于DMF液滴检测。训练框架源于 YOLOv5: # 教程 ## 安装依赖 ``` pip install -r requirements.txt ``` ## 配置项目结构 按以下文件结构配置数据集和Python工程 ``` ├─HLDROPLIB │ ├─train │ │ ├─images │ │ └─labels │ └─val │ ├─images │ └─labels └─pytorch-yolo ├─data ├─models ├─utils ├─... └─weights ``` ## 训练 按实际硬件环境配置参数,如: - 使用GPU训练 YOLOv5s:`python train.py --name yolov5s --cfg yolov5s.yaml --epochs 100 --batch-size 4 --workers 4 --device 0` - 从断点恢复训练:`python train.py --resume` - 使用Tensorboard对训练过程进行可视化: `tensorboard --logdir runs` - 使用CPU训练 YOLOv3-tiny:`python train.py --name yolov3-tiny --cfg yolov3-tiny.yaml --epochs 100 --batch-size 8 --workers 4 --device cpu` ![train_log](https://gitee.com/ecustdmf/pytorch-yolo/raw/master/data/snapshots/train_log.png) ## 测试 默认测试路径 `./data/images`,输出路径 `./runs/detect/$name` ``` python detect.py --name yolov3-tiny --weights runs/train/yolov3-tiny/weights/best.pt --conf-thres 0.6 --iou-thres 0.2 ``` ![detect_log](https://gitee.com/ecustdmf/pytorch-yolo/raw/master/data/snapshots/detect_log.png) ![detect_results](https://gitee.com/ecustdmf/pytorch-yolo/raw/master/data/snapshots/detect_results.jpg) ## 导出 将模型导出为 `torchscript` 以在C++环境下进行部署,导出为 `ONNX` 以进行网络结构可视化() ``` python ./models/export.py --weights runs/train/yolov3-tiny/weights/best.pt --img 640 --batch 1 --train --device 0 ``` ![export_log](https://gitee.com/ecustdmf/pytorch-yolo/raw/master/data/snapshots/export_log.png) ## 其他 参见YOLOv5相关教程: > * [Train Custom Data](https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data) > * [Tips for Best Training Results](https://github.com/ultralytics/yolov5/wiki/Tips-for-Best-Training-Results) > * [Weights & Biases Logging](https://github.com/ultralytics/yolov5/issues/1289) > * [Supervisely Ecosystem](https://github.com/ultralytics/yolov5/issues/2518) > * [Multi-GPU Training](https://github.com/ultralytics/yolov5/issues/475) > * [PyTorch Hub](https://github.com/ultralytics/yolov5/issues/36) > * [TorchScript, ONNX, CoreML Export](https://github.com/ultralytics/yolov5/issues/251) > * [Test-Time Augmentation (TTA)](https://github.com/ultralytics/yolov5/issues/303) > * [Model Ensembling](https://github.com/ultralytics/yolov5/issues/318) > * [Model Pruning/Sparsity](https://github.com/ultralytics/yolov5/issues/304) > * [Hyperparameter Evolution](https://github.com/ultralytics/yolov5/issues/607) > * [Transfer Learning with Frozen Layers](https://github.com/ultralytics/yolov5/issues/1314) > * [TensorRT Deployment](https://github.com/wang-xinyu/tensorrtx) # 致谢 - ultralytics/yolov5: - WongKinYiu/PyTorch_YOLOv4: