Browse Source

precommit: isort (#5493)

* precommit: isort

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update isort config

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update name

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
modifyDataloader
Jirka Borovec GitHub 2 years ago
parent
commit
0155548384
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 58 additions and 47 deletions
  1. +5
    -6
      .pre-commit-config.yaml
  2. +3
    -2
      detect.py
  3. +6
    -3
      export.py
  4. +4
    -3
      hubconf.py
  5. +2
    -2
      models/common.py
  6. +1
    -0
      models/experimental.py
  7. +2
    -2
      models/tf.py
  8. +3
    -3
      models/yolo.py
  9. +6
    -0
      setup.cfg
  10. +11
    -10
      train.py
  11. +1
    -1
      utils/augmentations.py
  12. +4
    -4
      utils/datasets.py
  13. +1
    -1
      utils/flask_rest_api/restapi.py
  14. +2
    -2
      utils/loggers/wandb/sweep.py
  15. +1
    -2
      utils/loggers/wandb/wandb_utils.py
  16. +1
    -1
      utils/plots.py
  17. +5
    -5
      val.py

+ 5
- 6
.pre-commit-config.yaml View File

@@ -30,12 +30,11 @@ repos:
args: [--py36-plus]
name: Upgrade code

# TODO
#- repo: https://github.com/PyCQA/isort
# rev: 5.9.3
# hooks:
# - id: isort
# name: imports
- repo: https://github.com/PyCQA/isort
rev: 5.9.3
hooks:
- id: isort
name: Sort imports

# TODO
#- repo: https://github.com/pre-commit/mirrors-yapf

+ 3
- 2
detect.py View File

@@ -25,8 +25,9 @@ ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative

from models.experimental import attempt_load
from utils.datasets import LoadImages, LoadStreams
from utils.general import apply_classifier, check_img_size, check_imshow, check_requirements, check_suffix, colorstr, \
increment_path, non_max_suppression, print_args, save_one_box, scale_coords, strip_optimizer, xyxy2xywh, LOGGER
from utils.general import (LOGGER, apply_classifier, check_img_size, check_imshow, check_requirements, check_suffix,
colorstr, increment_path, non_max_suppression, print_args, save_one_box, scale_coords,
strip_optimizer, xyxy2xywh)
from utils.plots import Annotator, colors
from utils.torch_utils import load_classifier, select_device, time_sync


+ 6
- 3
export.py View File

@@ -42,8 +42,8 @@ from models.experimental import attempt_load
from models.yolo import Detect
from utils.activations import SiLU
from utils.datasets import LoadImages
from utils.general import check_dataset, check_img_size, check_requirements, colorstr, file_size, print_args, \
url2file, LOGGER
from utils.general import (LOGGER, check_dataset, check_img_size, check_requirements, colorstr, file_size, print_args,
url2file)
from utils.torch_utils import select_device


@@ -135,7 +135,8 @@ def export_saved_model(model, im, file, dynamic,
try:
import tensorflow as tf
from tensorflow import keras
from models.tf import TFModel, TFDetect

from models.tf import TFDetect, TFModel

LOGGER.info(f'\n{prefix} starting export with tensorflow {tf.__version__}...')
f = str(file).replace('.pt', '_saved_model')
@@ -182,6 +183,7 @@ def export_tflite(keras_model, im, file, int8, data, ncalib, prefix=colorstr('Te
# YOLOv5 TensorFlow Lite export
try:
import tensorflow as tf

from models.tf import representative_dataset_gen

LOGGER.info(f'\n{prefix} starting export with tensorflow {tf.__version__}...')
@@ -215,6 +217,7 @@ def export_tfjs(keras_model, im, file, prefix=colorstr('TensorFlow.js:')):
try:
check_requirements(('tensorflowjs',))
import re

import tensorflowjs as tfjs

LOGGER.info(f'\n{prefix} starting export with tensorflowjs {tfjs.__version__}...')

+ 4
- 3
hubconf.py View File

@@ -27,10 +27,10 @@ def _create(name, pretrained=True, channels=3, classes=80, autoshape=True, verbo
"""
from pathlib import Path

from models.yolo import Model
from models.experimental import attempt_load
from utils.general import check_requirements, set_logging
from models.yolo import Model
from utils.downloads import attempt_download
from utils.general import check_requirements, set_logging
from utils.torch_utils import select_device

file = Path(__file__).resolve()
@@ -125,10 +125,11 @@ if __name__ == '__main__':
# model = custom(path='path/to/model.pt') # custom

# Verify inference
from pathlib import Path

import cv2
import numpy as np
from PIL import Image
from pathlib import Path

imgs = ['data/images/zidane.jpg', # filename
Path('data/images/zidane.jpg'), # Path

+ 2
- 2
models/common.py View File

@@ -18,8 +18,8 @@ from PIL import Image
from torch.cuda import amp

from utils.datasets import exif_transpose, letterbox
from utils.general import colorstr, increment_path, make_divisible, non_max_suppression, save_one_box, \
scale_coords, xyxy2xywh
from utils.general import (colorstr, increment_path, make_divisible, non_max_suppression, save_one_box, scale_coords,
xyxy2xywh)
from utils.plots import Annotator, colors
from utils.torch_utils import time_sync


+ 1
- 0
models/experimental.py View File

@@ -3,6 +3,7 @@
Experimental modules
"""
import math

import numpy as np
import torch
import torch.nn as nn

+ 2
- 2
models/tf.py View File

@@ -28,11 +28,11 @@ import torch
import torch.nn as nn
from tensorflow import keras

from models.common import Bottleneck, BottleneckCSP, Concat, Conv, C3, DWConv, Focus, SPP, SPPF, autopad
from models.common import C3, SPP, SPPF, Bottleneck, BottleneckCSP, Concat, Conv, DWConv, Focus, autopad
from models.experimental import CrossConv, MixConv2d, attempt_load
from models.yolo import Detect
from utils.general import make_divisible, print_args, LOGGER
from utils.activations import SiLU
from utils.general import LOGGER, make_divisible, print_args


class TFBN(keras.layers.Layer):

+ 3
- 3
models/yolo.py View File

@@ -20,10 +20,10 @@ if str(ROOT) not in sys.path:
from models.common import *
from models.experimental import *
from utils.autoanchor import check_anchor_order
from utils.general import check_version, check_yaml, make_divisible, print_args, LOGGER
from utils.general import LOGGER, check_version, check_yaml, make_divisible, print_args
from utils.plots import feature_visualization
from utils.torch_utils import copy_attr, fuse_conv_and_bn, initialize_weights, model_info, scale_img, \
select_device, time_sync
from utils.torch_utils import (copy_attr, fuse_conv_and_bn, initialize_weights, model_info, scale_img, select_device,
time_sync)

try:
import thop # for FLOPs computation

+ 6
- 0
setup.cfg View File

@@ -43,3 +43,9 @@ ignore =
F403
E302
F541


[isort]
# https://pycqa.github.io/isort/docs/configuration/options.html
line_length = 120
multi_line_output = 0

+ 11
- 10
train.py View File

@@ -23,7 +23,7 @@ import torch.nn as nn
import yaml
from torch.cuda import amp
from torch.nn.parallel import DistributedDataParallel as DDP
from torch.optim import Adam, SGD, lr_scheduler
from torch.optim import SGD, Adam, lr_scheduler
from tqdm import tqdm

FILE = Path(__file__).resolve()
@@ -37,19 +37,20 @@ from models.experimental import attempt_load
from models.yolo import Model
from utils.autoanchor import check_anchors
from utils.autobatch import check_train_batch_size
from utils.callbacks import Callbacks
from utils.datasets import create_dataloader
from utils.general import labels_to_class_weights, increment_path, labels_to_image_weights, init_seeds, \
strip_optimizer, get_latest_run, check_dataset, check_git_status, check_img_size, check_requirements, \
check_file, check_yaml, check_suffix, print_args, print_mutation, one_cycle, colorstr, methods, LOGGER
from utils.downloads import attempt_download
from utils.loss import ComputeLoss
from utils.plots import plot_labels, plot_evolve
from utils.torch_utils import EarlyStopping, ModelEMA, de_parallel, intersect_dicts, select_device, \
torch_distributed_zero_first
from utils.general import (LOGGER, check_dataset, check_file, check_git_status, check_img_size, check_requirements,
check_suffix, check_yaml, colorstr, get_latest_run, increment_path, init_seeds,
labels_to_class_weights, labels_to_image_weights, methods, one_cycle, print_args,
print_mutation, strip_optimizer)
from utils.loggers import Loggers
from utils.loggers.wandb.wandb_utils import check_wandb_resume
from utils.loss import ComputeLoss
from utils.metrics import fitness
from utils.loggers import Loggers
from utils.callbacks import Callbacks
from utils.plots import plot_evolve, plot_labels
from utils.torch_utils import (EarlyStopping, ModelEMA, de_parallel, intersect_dicts, select_device,
torch_distributed_zero_first)

LOCAL_RANK = int(os.getenv('LOCAL_RANK', -1)) # https://pytorch.org/docs/stable/elastic/run.html
RANK = int(os.getenv('RANK', -1))

+ 1
- 1
utils/augmentations.py View File

@@ -10,7 +10,7 @@ import random
import cv2
import numpy as np

from utils.general import colorstr, segment2box, resample_segments, check_version
from utils.general import check_version, colorstr, resample_segments, segment2box
from utils.metrics import bbox_ioa



+ 4
- 4
utils/datasets.py View File

@@ -12,7 +12,7 @@ import random
import shutil
import time
from itertools import repeat
from multiprocessing.pool import ThreadPool, Pool
from multiprocessing.pool import Pool, ThreadPool
from pathlib import Path
from threading import Thread
from zipfile import ZipFile
@@ -22,13 +22,13 @@ import numpy as np
import torch
import torch.nn.functional as F
import yaml
from PIL import Image, ImageOps, ExifTags
from PIL import ExifTags, Image, ImageOps
from torch.utils.data import Dataset
from tqdm import tqdm

from utils.augmentations import Albumentations, augment_hsv, copy_paste, letterbox, mixup, random_perspective
from utils.general import check_dataset, check_requirements, check_yaml, clean_str, segments2boxes, \
xywh2xyxy, xywhn2xyxy, xyxy2xywhn, xyn2xy, LOGGER
from utils.general import (LOGGER, check_dataset, check_requirements, check_yaml, clean_str, segments2boxes, xyn2xy,
xywh2xyxy, xywhn2xyxy, xyxy2xywhn)
from utils.torch_utils import torch_distributed_zero_first

# Parameters

+ 1
- 1
utils/flask_rest_api/restapi.py View File

@@ -5,8 +5,8 @@ import argparse
import io

import torch
from PIL import Image
from flask import Flask, request
from PIL import Image

app = Flask(__name__)


+ 2
- 2
utils/loggers/wandb/sweep.py View File

@@ -8,10 +8,10 @@ ROOT = FILE.parents[3] # YOLOv5 root directory
if str(ROOT) not in sys.path:
sys.path.append(str(ROOT)) # add ROOT to PATH

from train import train, parse_opt
from train import parse_opt, train
from utils.callbacks import Callbacks
from utils.general import increment_path
from utils.torch_utils import select_device
from utils.callbacks import Callbacks


def sweep():

+ 1
- 2
utils/loggers/wandb/wandb_utils.py View File

@@ -16,8 +16,7 @@ ROOT = FILE.parents[3] # YOLOv5 root directory
if str(ROOT) not in sys.path:
sys.path.append(str(ROOT)) # add ROOT to PATH

from utils.datasets import LoadImagesAndLabels
from utils.datasets import img2label_paths
from utils.datasets import LoadImagesAndLabels, img2label_paths
from utils.general import check_dataset, check_file

try:

+ 1
- 1
utils/plots.py View File

@@ -17,7 +17,7 @@ import seaborn as sn
import torch
from PIL import Image, ImageDraw, ImageFont

from utils.general import user_config_dir, is_ascii, is_chinese, xywh2xyxy, xyxy2xywh
from utils.general import is_ascii, is_chinese, user_config_dir, xywh2xyxy, xyxy2xywh
from utils.metrics import fitness

# Settings

+ 5
- 5
val.py View File

@@ -24,14 +24,14 @@ if str(ROOT) not in sys.path:
ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative

from models.experimental import attempt_load
from utils.callbacks import Callbacks
from utils.datasets import create_dataloader
from utils.general import box_iou, coco80_to_coco91_class, colorstr, check_dataset, check_img_size, \
check_requirements, check_suffix, check_yaml, increment_path, non_max_suppression, print_args, scale_coords, \
xyxy2xywh, xywh2xyxy, LOGGER
from utils.metrics import ap_per_class, ConfusionMatrix
from utils.general import (LOGGER, box_iou, check_dataset, check_img_size, check_requirements, check_suffix, check_yaml,
coco80_to_coco91_class, colorstr, increment_path, non_max_suppression, print_args,
scale_coords, xywh2xyxy, xyxy2xywh)
from utils.metrics import ConfusionMatrix, ap_per_class
from utils.plots import output_to_target, plot_images, plot_val_study
from utils.torch_utils import select_device, time_sync
from utils.callbacks import Callbacks


def save_one_txt(predn, save_conf, shape, file):

Loading…
Cancel
Save