瑞芯微Rockchip开发者社区
直播中

王艳

8年用户 1372经验值
私信 关注
[经验]

怎样使用PyTorch Hub去加载YOLOv5模型

在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

更多回帖

发帖
×
20
完善资料,
赚取积分