赞
踩
核心功能:
兼容性:
安装与使用:
pip3
安装 Poetry,并通过 Poetry 来管理项目的依赖包。作用:
总之,PyTorch-YOLOv3 项目是一个方便易用的 YOLOv3 开源实现,它不仅为研究者提供了深入理解和改进算法的机会,也为实际应用开发者提供了快速原型开发和产品化部署的基础工具。
- cd PyTorch-YOLOv3/
- pip3 install poetry --user
- poetry install
您需要先通过在此目录中运行来加入虚拟环境,然后才能运行以下任何不带前缀的命令。 还要看看其他安装方法,如果你想在不打开诗歌外壳的情况下到处使用命令。poetry shell
poetry run
./weights/download_weights.sh
./data/get_coco_dataset.sh
如果要将此包用作另一个 python 项目中的依赖项,建议使用此安装方法。 此方法仅包含代码,隔离性较低,并且可能与其他包冲突。 权重和COCO数据集需要如上所述下载。 有关包 API 的更多信息,请参阅 API。 它还支持 CLI 工具、 和任何地方,无需任何其他命令。yolo-detect
yolo-train
yolo-test
pip3 install pytorchyolo --user
在 COCO 测试数据集上评估模型。 要下载此数据集以及权重,请参阅上文。
poetry run yolo-test --weights weights/yolov3.weights
使用预训练的权重对图像进行预测。下表显示了使用缩放到 256x256 的图像作为输入时的推理时间。ResNet 主干测量值取自 YOLOv3 论文。标记的 Darknet-53 测量值在我的 1080ti 卡上显示了此实现的推理时间。
poetry run yolo-detect --images data/samples/
有关参数描述,请查看poetry run yolo-train --help
要使用 ImageNet 上预训练的 Darknet-53 后端在 COCO 上进行训练,请运行:
poetry run yolo-train --data config/coco.data --pretrained_weights weights/darknet53.conv.74
在 Tensorboard 中跟踪训练进度:
poetry run tensorboard --logdir='logs' --port=6006
将日志存储在慢速驱动器上可能会导致训练速度显著降低。
您可以使用 when running 和 调整日志目录。--logdir <path>
tensorboard
yolo-train
运行以下命令以创建自定义模型定义,并替换为数据集中的类数。<num-classes>
./config/create_custom_model.sh <num-classes> # Will create custom model 'yolov3-custom.cfg'
将类名添加到 .此文件应为每个类名设置一行。data/custom/classes.names
将数据集的图像移动到 。data/custom/images/
将批注移动到 。数据加载器期望与图像对应的注释文件具有路径 。注释文件中的每一行都应使用语法定义一个边界框。坐标应按比例缩放,并且应为零索引,并对应于类名的行号。data/custom/labels/
data/custom/images/train.jpg
data/custom/labels/train.txt
label_idx x_center y_center width height
[0, 1]
label_idx
data/custom/classes.names
在 和 中,向图像添加路径,这些路径将分别用作训练数据和验证数据。data/custom/train.txt
data/custom/valid.txt
若要在自定义数据集上进行训练,请运行
poetry run yolo-train --model config/yolov3-custom.cfg --data config/custom.data
使用在 ImageNet 上预训练的后端添加到训练中。--pretrained_weights weights/darknet53.conv.74
如果您安装 pip 包,则可以将此存储库的模块导入到您自己的项目中。pytorchyolo
来自简单 OpenCV python 脚本的示例预测调用如下所示:
- import cv2
- from pytorchyolo import detect, models
-
- # Load the YOLO model
- model = models.load_model(
- "<PATH_TO_YOUR_CONFIG_FOLDER>/yolov3.cfg",
- "<PATH_TO_YOUR_WEIGHTS_FOLDER>/yolov3.weights")
-
- # Load the image as a numpy array
- img = cv2.imread("<PATH_TO_YOUR_IMAGE>")
-
- # Convert OpenCV bgr to rgb
- img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
-
- # Runs the YOLO model on the image
- boxes = detect.detect_image(model, img)
-
- print(boxes)
- # Output will be a numpy array in the following format:
- # [[x1, y1, x2, y2, confidence, class]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。