Yolov5-分装代码的简单案例(Mac系统)
原因:
原始检测代码过多,在对代码进行封装或嵌入可视化界面中过于复杂。因此通过基于torch.hub的方式对代码进行处理。
执行环境:
1、通过pycharm打开Yolov5-7.0的文件夹(pycharm方便管理,也可以继续在terminal中cd到对应的文件夹下并处于yolov5对应的虚拟环境下执行)
2、在与detect.py的同级目录下创建hub_detect.py
对应代码及解释
在hub_detect.py下插入如下代码
import torch
model = torch.hub.load("./","yolov5s",source="local")
img = ("./data/images/zidane.jpg")
results = model(img)
results.show()
-
import torch
:导入PyTorch库。 -
model = torch.hub.load("./","yolov5s",source="local")
:从本地路径"./"加载名为"yolov5s"的预训练模型。./的路径实际上是用于调用hubconf.py -
img = ("./data/images/zidane.jpg")
:定义一个变量img,其值为图片"zidane.jpg"的路径。 -
results = model(img)
:将加载的模型应用于图片,进行目标检测。结果保存在变量results中。 -
results.show()
:显示检测结果。这通常是一个图像,其中包含了原始图像和检测到的目标的边界框。
易错点及注意事项
hub_detect.py的文件位置不同会导致img = ("./data/images/zidane.jpg")
以及 model = torch.hub.load("./","yolov5s",source="local")
在调用时报错,这里涉及到了相对路径和绝对路径的概念。如果该位置报错,大概率是路径问题倒是系统无法知道正确的文件。