Быстрый старт YOLOv5 🚀#
Отправься в путешествие по динамичному миру обнаружения объектов с Ultralytics YOLOv5! Это руководство создано как исчерпывающая отправная точка для энтузиастов и профессионалов в области ИИ, стремящихся освоить YOLOv5. От первоначальной настройки до продвинутых методов обучения — мы обо всем позаботились. К концу этого руководства у тебя будут знания, чтобы уверенно внедрять YOLOv5 в свои проекты, используя передовые методы глубокого обучения. Давай запустим двигатели и взлетим вместе с YOLOv5!
Установка#
Подготовься к запуску, клонировав репозиторий YOLOv5 и настроив окружение. Это гарантирует, что все необходимые зависимости установлены. Убедись, что у тебя подготовлены Python>=3.8.0 и PyTorch>=1.8. Эти базовые инструменты крайне важны для эффективного запуска YOLOv5.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesИнференс с помощью PyTorch Hub#
Ощути простоту инференса с PyTorch Hub в YOLOv5, где модели легко скачиваются из последнего релиза YOLOv5. Этот метод задействует всю мощь PyTorch для простой загрузки и выполнения моделей, делая получение предсказаний максимально простым.
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.Инференс с помощью detect.py#
Используй detect.py для универсального инференса на различных источниках. Скрипт автоматически загружает модели из последнего релиза YOLOv5 и с легкостью сохраняет результаты. Он идеально подходит для использования из командной строки и интеграции YOLOv5 в более крупные системы, поддерживая такие входы, как изображения, видео, директории, веб-камеры и даже прямые трансляции.
python detect.py --weights yolov5s.pt --source 0 # webcam
python detect.py --weights yolov5s.pt --source image.jpg # image
python detect.py --weights yolov5s.pt --source video.mp4 # video
python detect.py --weights yolov5s.pt --source screen # screenshot
python detect.py --weights yolov5s.pt --source path/ # directory
python detect.py --weights yolov5s.pt --source list.txt # list of images
python detect.py --weights yolov5s.pt --source list.streams # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamTraining#
Воспроизведи бенчмарки датасета COCO для YOLOv5, следуя инструкциям по обучению ниже. Необходимые модели и датасеты (такие как coco128.yaml или полный coco.yaml) загружаются напрямую из последнего релиза YOLOv5. Обучение YOLOv5n/s/m/l/x на GPU V100 обычно занимает примерно 1/2/4/6/8 дней соответственно (обрати внимание, что настройка обучения на нескольких GPU работает быстрее). Максимизируй производительность, используя максимально возможный --batch-size, или используй --batch-size -1 для функции AutoBatch в YOLOv5, которая автоматически подбирает оптимальный размер батча. Следующие размеры батча идеально подходят для GPU V100-16GB. Ознакомься с нашим руководством по конфигурации для получения подробной информации о файлах конфигурации моделей (*.yaml).
# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128
# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
В заключение отметим, что YOLOv5 — это не только передовой инструмент для обнаружения объектов, но и свидетельство силы машинного обучения в деле изменения того, как мы взаимодействуем с миром через визуальное восприятие. По мере прохождения этого руководства и применения YOLOv5 в своих проектах помни, что ты находишься на переднем крае технологической революции, способной достигать выдающихся результатов в компьютерном зрении. Если тебе понадобятся дополнительные инсайты или поддержка от единомышленников, приглашаем тебя в наш репозиторий на GitHub, который является домом для процветающего сообщества разработчиков и исследователей. Изучай и другие ресурсы, такие как Ultralytics Platform для управления датасетами и обучения моделей без кода, или загляни на страницу Решения за реальными сценариями применения и вдохновением. Продолжай исследовать, продолжай внедрять инновации и наслаждайся чудесами YOLOv5. Приятного детектирования! 🌠🔍