Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kalen Michael <kalenmike@gmail.com>
This commit is contained in:
Glenn Jocher
2023-01-09 23:22:33 +01:00
committed by GitHub
co-authored by pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Kalen Michael
parent 6feba17760
commit 422c49d439
97 changed files with 224 additions and 757 deletions
+2
View File
@@ -1 +1,3 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from . import v8
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import shutil
from pathlib import Path
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from pathlib import Path
from typing import Dict, Union
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLO 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Default training settings and hyperparameters for medium-augmentation COCO training
task: "detect" # choices=['detect', 'segment', 'classify', 'init'] # init is a special case. Specify task to run.
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import sys
from difflib import get_close_matches
from textwrap import dedent
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from .base import BaseDataset
from .build import build_classification_dataloader, build_dataloader
from .dataset import ClassificationDataset, SemanticDataset, YOLODataset
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import math
import random
from copy import deepcopy
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import glob
import math
import os
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import os
import random
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import glob
import math
import os
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Image augmentation functions
"""
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Dataloaders and dataset utils
"""
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from itertools import repeat
from multiprocessing.pool import Pool
from pathlib import Path
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import collections
from copy import deepcopy
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# COCO 2017 dataset http://cocodataset.org by Microsoft
# Example usage: python train.py --data coco.yaml
# parent
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# COCO128-seg dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
@@ -1,5 +1,5 @@
#!/bin/bash
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Download latest models from https://github.com/ultralytics/yolov5/releases
# Example usage: bash data/scripts/download_weights.sh
# parent
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Download COCO 2017 dataset http://cocodataset.org
# Example usage: bash data/scripts/get_coco.sh
# parent
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Download COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017)
# Example usage: bash data/scripts/get_coco128.sh
# parent
@@ -1,5 +1,5 @@
#!/bin/bash
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Download ILSVRC2012 ImageNet dataset https://image-net.org
# Example usage: bash data/scripts/get_imagenet.sh
# parent
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import contextlib
import hashlib
import os
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Export a YOLOv5 PyTorch model to other formats. TensorFlow exports authored by https://github.com/zldrobit
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from pathlib import Path
from ultralytics import yolo # noqa
+1 -1
View File
@@ -1,4 +1,4 @@
# predictor engine by Ultralytics
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Run prediction on images, videos, directories, globs, YouTube, webcam, streams, etc.
Usage - sources:
+1
View File
@@ -1,3 +1,4 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Simple training loop; Boilerplate that could apply to any arbitrary neural network,
"""
+8 -5
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import json
from collections import defaultdict
from pathlib import Path
@@ -86,6 +88,7 @@ class BaseValidator:
self.model = model
self.loss = torch.zeros_like(trainer.loss_items, device=trainer.device)
self.args.plots = trainer.epoch == trainer.epochs - 1 # always plot final epoch
model.eval()
else:
callbacks.add_integration_callbacks(self)
self.run_callbacks('on_val_start')
@@ -106,17 +109,17 @@ class BaseValidator:
f'Forcing --batch-size 1 square inference (1,3,{imgsz},{imgsz}) for non-PyTorch models')
if isinstance(self.args.data, str) and self.args.data.endswith(".yaml"):
data = check_dataset_yaml(self.args.data)
self.data = check_dataset_yaml(self.args.data)
else:
data = check_dataset(self.args.data)
self.data = check_dataset(self.args.data)
if self.device.type == 'cpu':
self.args.workers = 0 # faster CPU val as time dominated by inference, not dataloading
self.dataloader = self.dataloader or \
self.get_dataloader(data.get("val") or data.set("test"), self.args.batch)
self.data = data
self.get_dataloader(self.data.get("val") or self.data.set("test"), self.args.batch)
model.eval()
model.eval()
model.warmup(imgsz=(1 if pt else self.args.batch, 3, imgsz, imgsz)) # warmup
dt = Profile(), Profile(), Profile(), Profile()
n_batches = len(self.dataloader)
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import contextlib
import inspect
import logging.config
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Auto-batch utils
"""
+4 -1
View File
@@ -1,4 +1,7 @@
# Ultralytics YOLO base callbacks
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Base callbacks
"""
# Trainer callbacks ----------------------------------------------------------------------------------------------------
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from ultralytics.yolo.utils.torch_utils import get_flops, get_num_params
try:
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from ultralytics.yolo.utils.torch_utils import get_flops, get_num_params
try:
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import json
from time import time
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from torch.utils.tensorboard import SummaryWriter
writer = None # TensorBoard SummaryWriter instance
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from ultralytics.yolo.utils.torch_utils import get_flops, get_num_params
try:
+3 -2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import glob
import inspect
import math
@@ -62,8 +64,7 @@ def check_imgsz(imgsz, stride=32, min_dim=1, floor=0):
LOGGER.warning(f'WARNING ⚠️ --img-size {imgsz} must be multiple of max stride {stride}, updating to {sz}')
# Add missing dimensions if necessary
if min_dim == 2 and len(sz) == 1:
sz = [sz[0], sz[0]]
sz = [sz[0], sz[0]] if min_dim == 2 and len(sz) == 1 else sz[0] if min_dim == 1 and len(sz) == 1 else sz
return sz
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import os
import shutil
import socket
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import logging
import os
import subprocess
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import contextlib
import glob
import os
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from collections import abc
from itertools import repeat
from numbers import Number
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import torch
import torch.nn as nn
import torch.nn.functional as F
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
"""
Model validation metrics
"""
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import contextlib
import math
import re
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import contextlib
import math
from pathlib import Path
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import torch
import torch.nn as nn
import torch.nn.functional as F
+3 -1
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import math
import os
import platform
@@ -59,7 +61,7 @@ def DDP_model(model):
def select_device(device='', batch_size=0, newline=False):
# device = None or 'cpu' or 0 or '0' or '0,1,2,3'
ver = git_describe() or ultralytics.__version__ # git commit or pip package version
s = f'Ultralytics YOLO 🚀 {ver} Python-{platform.python_version()} torch-{torch.__version__} '
s = f'Ultralytics YOLOv{ver} 🚀 Python-{platform.python_version()} torch-{torch.__version__} '
device = str(device).strip().lower().replace('cuda:', '').replace('none', '') # to string, 'cuda:0' to '0'
cpu = device == 'cpu'
mps = device == 'mps' # Apple Metal Performance Shaders (MPS)
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from pathlib import Path
from ultralytics.yolo.v8 import classify, detect, segment
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from ultralytics.yolo.v8.classify.predict import ClassificationPredictor, predict
from ultralytics.yolo.v8.classify.train import ClassificationTrainer, train
from ultralytics.yolo.v8.classify.val import ClassificationValidator, val
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import hydra
import torch
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import hydra
import torch
import torchvision
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import hydra
from ultralytics.yolo.data import build_classification_dataloader
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from .predict import DetectionPredictor, predict
from .train import DetectionTrainer, train
from .val import DetectionValidator, val
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import hydra
import torch
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from copy import copy
import hydra
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import os
from pathlib import Path
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 1000 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 1000 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 1000 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 1000 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 1000 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+1 -1
View File
@@ -1,4 +1,4 @@
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Ultralytics YOLO 🚀, GPL-3.0 license
# Parameters
nc: 80 # number of classes
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from .predict import SegmentationPredictor, predict
from .train import SegmentationTrainer, train
from .val import SegmentationValidator, val
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import hydra
import torch
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from copy import copy
import hydra
+2
View File
@@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import os
from multiprocessing.pool import ThreadPool
from pathlib import Path