在Python>=3.7.0环境中安装requirements.txt,包括PyTorch>=1.7。模型和数据集从最新的 YOLOv5版本自动下载。
简单示例
此示例从 PyTorch Hub 加载预训练的 YOLOv5s 模型,model并传递图像进行推理。'yolov5s'是最轻最快的 YOLOv5 型号。有关所有可用模型的详细信息,请参阅自述文件。
详细示例
此示例显示了PIL和OpenCV图像源的批量推理。可以打印到控制台,保存到,在支持的环境中显示到屏幕上,并以张量或pandas数据帧的形式返回。
对于所有推理选项,请参阅 YOLOv5AutoShape()前向方法:
推理设置
YOLOv5 模型包含各种推理属性,例如置信度阈值、IoU 阈值等,可以通过以下方式设置:
设备
模型创建后可以转移到任何设备:
模型也可以直接在任何device:
专业提示:在推理之前,输入图像会自动传输到正确的模型设备。
静音输出
模型可以静默加载_verbose=False:
输入通道
要加载具有 4 个输入通道而不是默认的 3 个输入通道的预训练 YOLOv5s 模型:
在这种情况下,模型将由预训练的权重组成,除了第一个输入层,它不再与预训练的输入层具有相同的形状。输入层将保持由随机权重初始化。
班级数
要加载具有 10 个输出类而不是默认的 80 个输出类的预训练 YOLOv5s 模型:
在这种情况下,模型将由预训练的权重组成,除了输出层,它们不再与预训练的输出层具有相同的形状。输出层将保持由随机权重初始化。
强制重新加载
如果您在上述步骤中遇到问题,force_reload=True通过丢弃现有缓存并强制从 PyTorch Hub 重新下载最新的 YOLOv5 版本,设置可能会有所帮助。
截图推理
要在桌面屏幕上运行推理:
训练
要加载 YOLOv5 模型进行训练而不是推理,请设置autoshape=False. 要加载具有随机初始化权重的模型(从头开始训练),请使用pretrained=False. 在这种情况下,您必须提供自己的训练脚本。或者,请参阅我们的 YOLOv5训练自定义数据教程以进行模型训练。
Base64 结果
用于 API 服务。有关详细信息,请参阅#2291和Flask REST API示例。
裁剪结果
结果可以返回并保存为检测作物:
熊猫结果
结果可以作为Pandas DataFrames返回:
熊猫输出(点击展开)
排序结果
结果可以按列排序,即从左到右(x轴)排序车牌数字检测:
箱形裁剪结果
结果可以返回并保存为检测作物:
JSON 结果
.pandas()使用该.to_json()方法转换为数据帧后,可以以 JSON 格式返回结果。可以使用orient参数修改 JSON 格式。有关详细信息,请参阅熊猫.to_json() 文档。
JSON 输出(点击展开)
定制模型
此示例使用 PyTorch Hub 加载自定义 20 类VOC训练的YOLOv5s 模型'best.pt'。
TensorRT、ONNX 和 OpenVINO 模型
PyTorch Hub 支持对大多数 YOLOv5 导出格式进行推理,包括自定义训练模型。有关导出模型的详细信息,请参阅TFLite、ONNX、CoreML、TensorRT 导出教程。
专业提示:在GPU 基准测试中, TensorRT可能比 PyTorch 快 2-5 倍
专业提示:在CPU 基准测试中, ONNX和OpenVINO可能比 PyTorch 快 2-3 倍
环境
YOLOv5 可以在以下任何经过验证的最新环境中运行(预装了所有依赖项,包括CUDA / CUDNN、Python和PyTorch)。
原作者:PyTorch Hub