mirror of https://github.com/open-mmlab/mmyolo.git
Support setting the cache_size_limit parameter and support mmdet 3.0.0 (#707)
* Support setting the cache_size_limit parameter of dynamo in PyTorch 2.0 * update * update * fix * fix * update * update * update versionpull/649/merge
parent
1e266daf9a
commit
927e0a46af
|
@ -67,7 +67,7 @@ jobs:
|
|||
command: |
|
||||
pip install -U openmim
|
||||
mim install git+https://github.com/open-mmlab/mmengine.git@main
|
||||
mim install 'mmcv >= 2.0.0rc4'
|
||||
mim install 'mmcv >= 2.0.0'
|
||||
mim install git+https://github.com/open-mmlab/mmdetection.git@dev-3.x
|
||||
pip install -r requirements/albu.txt
|
||||
pip install -r requirements/tests.txt
|
||||
|
@ -90,16 +90,17 @@ jobs:
|
|||
name: Run unittests
|
||||
command: |
|
||||
export LD_LIBRARY_PATH=/home/circleci/project/onnxruntime-linux-x64-1.8.1/lib:${LD_LIBRARY_PATH}
|
||||
coverage run --branch --source mmyolo -m pytest tests/
|
||||
coverage xml
|
||||
coverage report -m
|
||||
pytest tests/
|
||||
# coverage run --branch --source mmyolo -m pytest tests/
|
||||
# coverage xml
|
||||
# coverage report -m
|
||||
build_cuda:
|
||||
parameters:
|
||||
torch:
|
||||
type: string
|
||||
cuda:
|
||||
type: enum
|
||||
enum: ["10.1", "10.2", "11.1", "11.0"]
|
||||
enum: ["10.1", "10.2", "11.0", "11.7"]
|
||||
cudnn:
|
||||
type: integer
|
||||
default: 7
|
||||
|
@ -125,7 +126,7 @@ jobs:
|
|||
command: |
|
||||
docker exec mmyolo pip install -U openmim
|
||||
docker exec mmyolo mim install -e /mmengine
|
||||
docker exec mmyolo mim install 'mmcv >= 2.0.0rc4'
|
||||
docker exec mmyolo mim install 'mmcv >= 2.0.0'
|
||||
docker exec mmyolo pip install -e /mmdetection
|
||||
docker exec mmyolo pip install -r requirements/albu.txt
|
||||
docker exec mmyolo pip install -r requirements/tests.txt
|
||||
|
@ -168,6 +169,9 @@ workflows:
|
|||
- lint
|
||||
- build_cpu:
|
||||
name: maximum_version_cpu
|
||||
# mmdeploy not supported
|
||||
# torch: 2.0.0
|
||||
# torchvision: 0.15.1
|
||||
torch: 1.12.1
|
||||
torchvision: 0.13.1
|
||||
python: 3.9.0
|
||||
|
@ -185,6 +189,13 @@ workflows:
|
|||
cuda: "10.2"
|
||||
requires:
|
||||
- hold
|
||||
- build_cuda:
|
||||
name: maximum_version_gpu
|
||||
torch: 2.0.0
|
||||
cuda: "11.7"
|
||||
cudnn: 8
|
||||
requires:
|
||||
- hold
|
||||
merge_stage_test:
|
||||
when:
|
||||
not: << pipeline.parameters.lint_only >>
|
||||
|
|
|
@ -25,10 +25,19 @@ log_level = 'INFO'
|
|||
load_from = None
|
||||
resume = False
|
||||
|
||||
# file_client_args = dict(
|
||||
# backend='petrel',
|
||||
# path_mapping=dict({
|
||||
# './data/': 's3://openmmlab/datasets/detection/',
|
||||
# 'data/': 's3://openmmlab/datasets/detection/'
|
||||
# }))
|
||||
file_client_args = dict(backend='disk')
|
||||
# Example to use different file client
|
||||
# Method 1: simply set the data root and let the file I/O module
|
||||
# automatically infer from prefix (not support LMDB and Memcache yet)
|
||||
|
||||
# data_root = 's3://openmmlab/datasets/detection/coco/'
|
||||
|
||||
# Method 2: Use `backend_args`, `file_client_args` in versions
|
||||
# before MMDet 3.0.0rc6
|
||||
# backend_args = dict(
|
||||
# backend='petrel',
|
||||
# path_mapping=dict({
|
||||
# './data/': 's3://openmmlab/datasets/detection/',
|
||||
# 'data/': 's3://openmmlab/datasets/detection/'
|
||||
# }))
|
||||
|
||||
backend_args = None
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
# TODO: Need to solve the problem of multiple file_client_args parameters
|
||||
# _file_client_args = dict(
|
||||
# TODO: Need to solve the problem of multiple backend_args parameters
|
||||
# _backend_args = dict(
|
||||
# backend='petrel',
|
||||
# path_mapping=dict({
|
||||
# './data/': 's3://openmmlab/datasets/detection/',
|
||||
# 'data/': 's3://openmmlab/datasets/detection/'
|
||||
# }))
|
||||
_file_client_args = dict(backend='disk')
|
||||
|
||||
_backend_args = None
|
||||
|
||||
tta_model = dict(
|
||||
type='mmdet.DetTTAModel',
|
||||
|
@ -37,7 +38,7 @@ _multiscale_resize_transforms = [
|
|||
]
|
||||
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
_base_ = '../../yolov5/yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
_base_ = '../../yolov6/yolov6_s_syncbn_fast_8xb32-400e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
|
|
@ -129,7 +129,7 @@ model = dict(
|
|||
max_per_img=300))
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(type='PPYOLOERandomDistort'),
|
||||
dict(type='mmdet.Expand', mean=(103.53, 116.28, 123.675)),
|
||||
|
@ -157,7 +157,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='mmdet.FixShapeResize',
|
||||
width=img_scale[0],
|
||||
|
|
|
@ -41,7 +41,7 @@ _base_.model.test_cfg = dict(
|
|||
max_per_img=100)
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
@ -73,7 +73,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
train_pipeline_stage2 = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='mmdet.RandomResize',
|
||||
|
@ -92,7 +92,7 @@ train_dataloader = dict(
|
|||
batch_size=train_batch_size_per_gpu, dataset=dict(pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=(960, 960), keep_ratio=True),
|
||||
dict(type='mmdet.Pad', size=(960, 960), pad_val=dict(img=(114, 114, 114))),
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
|
|
|
@ -169,7 +169,7 @@ model = dict(
|
|||
)
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True, box_type='qbox'),
|
||||
dict(
|
||||
type='mmrotate.ConvertBoxType',
|
||||
|
@ -191,7 +191,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
val_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=True),
|
||||
dict(type='mmdet.Pad', size=img_scale, pad_val=dict(img=(114, 114, 114))),
|
||||
dict(
|
||||
|
@ -209,7 +209,7 @@ val_pipeline = [
|
|||
]
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=True),
|
||||
dict(type='mmdet.Pad', size=img_scale, pad_val=dict(img=(114, 114, 114))),
|
||||
dict(
|
||||
|
|
|
@ -38,7 +38,7 @@ submission_dir = './work_dirs/{{fileBasenameNoExtension}}/submission'
|
|||
# =======================Unmodified in most cases==================
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True, box_type='qbox'),
|
||||
dict(
|
||||
type='mmrotate.ConvertBoxType',
|
||||
|
@ -77,7 +77,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
train_pipeline_stage2 = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True, box_type='qbox'),
|
||||
dict(
|
||||
type='mmrotate.ConvertBoxType',
|
||||
|
|
|
@ -148,7 +148,7 @@ model = dict(
|
|||
)
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
@ -175,7 +175,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
train_pipeline_stage2 = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='mmdet.RandomResize',
|
||||
|
@ -191,7 +191,7 @@ train_pipeline_stage2 = [
|
|||
]
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -33,7 +33,7 @@ model = dict(
|
|||
bbox_head=dict(head_module=dict(widen_factor=widen_factor)))
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
@ -60,7 +60,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
train_pipeline_stage2 = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='mmdet.RandomResize',
|
||||
|
|
|
@ -26,7 +26,7 @@ model = dict(
|
|||
bbox_head=dict(head_module=dict(widen_factor=widen_factor)))
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
|
|
@ -19,7 +19,7 @@ albu_train_transforms = [
|
|||
]
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
# only change this
|
||||
dict(type='mmdet.LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
|
|
@ -9,7 +9,7 @@ min_area_ratio = 0.01 # YOLOv5RandomAffine
|
|||
|
||||
# ===============================Unmodified in most cases====================
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LoadAnnotations',
|
||||
with_bbox=True,
|
||||
|
|
|
@ -168,7 +168,7 @@ train_dataloader = dict(
|
|||
collate_fn=dict(type='yolov5_collate'))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -250,7 +250,7 @@ _multiscale_resize_transforms = [
|
|||
]
|
||||
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -84,7 +84,7 @@ train_pipeline = [
|
|||
train_dataloader = dict(dataset=dict(pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -118,7 +118,7 @@ _multiscale_resize_transforms = [
|
|||
]
|
||||
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -51,7 +51,7 @@ train_pipeline = [
|
|||
_base_.train_dataloader.dataset.pipeline = train_pipeline
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
_base_ = 'yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
|
|
@ -158,7 +158,7 @@ albu_train_transforms = [
|
|||
]
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -211,7 +211,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -9,7 +9,7 @@ min_area_ratio = 0.01 # YOLOv5RandomAffine
|
|||
|
||||
# ===============================Unmodified in most cases====================
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LoadAnnotations',
|
||||
with_bbox=True,
|
||||
|
|
|
@ -162,7 +162,7 @@ albu_train_transforms = [
|
|||
]
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -238,7 +238,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -126,7 +126,7 @@ model = dict(
|
|||
# The training pipeline of YOLOv6 is basically the same as YOLOv5.
|
||||
# The difference is that Mosaic and RandomAffine will be closed in the last 15 epochs. # noqa
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -193,7 +193,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -165,7 +165,7 @@ model = dict(
|
|||
test_cfg=model_test_cfg)
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -241,7 +241,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -128,7 +128,7 @@ train_pipeline = [
|
|||
train_dataloader = dict(dataset=dict(pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -162,7 +162,7 @@ _multiscale_resize_transforms = [
|
|||
]
|
||||
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -9,7 +9,7 @@ min_area_ratio = 0.01 # YOLOv5RandomAffine
|
|||
|
||||
# ===============================Unmodified in most cases====================
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LoadAnnotations',
|
||||
with_bbox=True,
|
||||
|
|
|
@ -169,7 +169,7 @@ albu_train_transforms = [
|
|||
]
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -245,7 +245,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
# TODO: Need to solve the problem of multiple file_client_args parameters
|
||||
# _file_client_args = dict(
|
||||
# TODO: Need to solve the problem of multiple backend_args parameters
|
||||
# _backend_args = dict(
|
||||
# backend='petrel',
|
||||
# path_mapping=dict({
|
||||
# './data/': 's3://openmmlab/datasets/detection/',
|
||||
# 'data/': 's3://openmmlab/datasets/detection/'
|
||||
# }))
|
||||
_file_client_args = dict(backend='disk')
|
||||
|
||||
_backend_args = None
|
||||
|
||||
tta_model = dict(
|
||||
type='mmdet.DetTTAModel',
|
||||
|
@ -24,7 +25,7 @@ img_scales = [(640, 640), (320, 320), (960, 960)]
|
|||
# PackDetIn PackDetIn PackDetIn PackDetIn PackDetIn PackDetIn # noqa
|
||||
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -149,7 +149,7 @@ model = dict(
|
|||
test_cfg=model_test_cfg)
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -217,7 +217,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline_stage1))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=True),
|
||||
dict(
|
||||
type='mmdet.Pad',
|
||||
|
|
|
@ -52,7 +52,7 @@ train_pipeline_stage1 = [
|
|||
]
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=(416, 416), keep_ratio=True), # note
|
||||
dict(
|
||||
type='mmdet.Pad',
|
||||
|
|
|
@ -50,7 +50,7 @@ train_pipeline_stage1 = [
|
|||
]
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=test_img_scale, keep_ratio=True), # note
|
||||
dict(
|
||||
type='mmdet.Pad',
|
||||
|
@ -69,7 +69,7 @@ test_dataloader = val_dataloader
|
|||
|
||||
# Config for Test Time Augmentation. (TTA)
|
||||
tta_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='TestTimeAug',
|
||||
transforms=[
|
||||
|
|
|
@ -303,7 +303,7 @@ Due to the bias of direct visualization of `test_pipeline`, we need to `configs/
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -324,7 +324,7 @@ modify to the following config:
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # modify the LetterResize to mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
|
|
@ -4,7 +4,8 @@ Compatible MMEngine, MMCV and MMDetection versions are shown as below. Please in
|
|||
|
||||
| MMYOLO version | MMDetection version | MMEngine version | MMCV version |
|
||||
| :------------: | :----------------------: | :----------------------: | :---------------------: |
|
||||
| main | mmdet>=3.0.0rc6, \<3.1.0 | mmengine>=0.6.0, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| main | mmdet>=3.0.0, \<3.1.0 | mmengine>=0.7.1, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.6.0 | mmdet>=3.0.0, \<3.1.0 | mmengine>=0.7.1, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.5.0 | mmdet>=3.0.0rc6, \<3.1.0 | mmengine>=0.6.0, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.4.0 | mmdet>=3.0.0rc5, \<3.1.0 | mmengine>=0.3.1, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.3.0 | mmdet>=3.0.0rc5, \<3.1.0 | mmengine>=0.3.1, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
|
|
|
@ -201,7 +201,7 @@ In particular, to ensure that the feature map and image are shown aligned, the o
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # change
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
|
|
@ -61,7 +61,7 @@ Taking `YOLOv5` of MMYOLO as an example, here are the details:
|
|||
_base_ = '../../yolov5/yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
|
|
@ -28,7 +28,7 @@ Here is a example in [`yolov5_s-static.py`](https://github.com/open-mmlab/mmyolo
|
|||
_base_ = '../../yolov5/yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
@ -113,7 +113,7 @@ batch_shapes_cfg = dict(
|
|||
extra_pad_ratio=0.5)
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -90,7 +90,7 @@ The original `test_pipeline` is:
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -111,7 +111,7 @@ Change to the following version:
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # change the LetterResize to mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
@ -197,7 +197,7 @@ The original `test_pipeline` is:
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -218,7 +218,7 @@ Change to the following version:
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # change the LetterResize to mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
|
|
@ -86,12 +86,10 @@ The training and testing data flow of YOLOv5 have a certain difference. We will
|
|||
```python
|
||||
dataset_type = 'CocoDataset' # Dataset type, this will be used to define the dataset
|
||||
data_root = 'data/coco/' # Root path of data
|
||||
file_client_args = dict(backend='disk') # file client arguments, default backend loads from local disk
|
||||
|
||||
pre_transform = [ # Training data loading pipeline
|
||||
dict(
|
||||
type='LoadImageFromFile', # First pipeline to load images from file path
|
||||
file_client_args=file_client_args), # file client arguments, default backend loads from local disk
|
||||
type='LoadImageFromFile'), # First pipeline to load images from file path
|
||||
dict(type='LoadAnnotations', # Second pipeline to load annotations for current image
|
||||
with_bbox=True) # Whether to use bounding box, True for detection
|
||||
]
|
||||
|
@ -156,8 +154,7 @@ In the testing phase of YOLOv5, the [Letter Resize](https://github.com/open-mmla
|
|||
```python
|
||||
test_pipeline = [ # Validation/ Testing dataloader config
|
||||
dict(
|
||||
type='LoadImageFromFile', # First pipeline to load images from file path
|
||||
file_client_args=file_client_args), # file client arguments, default backend loads from local disk
|
||||
type='LoadImageFromFile'), # First pipeline to load images from file path
|
||||
dict(type='YOLOv5KeepRatioResize', # Second pipeline to resize images with the same aspect ratio
|
||||
scale=img_scale), # Pipeline that resizes the images
|
||||
dict(
|
||||
|
@ -475,8 +472,7 @@ train_pipeline = [
|
|||
|
||||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args={{_base_.file_client_args}}),
|
||||
type='LoadImageFromFile'),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -517,7 +513,6 @@ E.g:
|
|||
```python
|
||||
_base_ = '../_base_/default_runtime.py'
|
||||
|
||||
file_client_args = {{_base_.file_client_args}} # `file_client_args` equals to `file_client_args` that defined in the _base_ config
|
||||
pre_transform = _base_.pre_transform # `pre_transform` equals to `pre_transform` in the _base_ config
|
||||
```
|
||||
|
||||
|
|
|
@ -301,7 +301,7 @@ MMYOLO 中提供了特征图相关可视化脚本,用于分析当前模型训
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -322,7 +322,7 @@ test_pipeline = [
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # 删除 YOLOv5KeepRatioResize, 将 LetterResize 修改成 mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
@ -488,7 +488,7 @@ python projects/easydeploy/tools/build_engine.py \
|
|||
|
||||
成功执行后会在 `work-dir` 下生成 `end2end.engine` 文件:
|
||||
|
||||
```shell
|
||||
```text
|
||||
work_dirs/yolov5_s-v61_fast_1xb12-40e_cat
|
||||
├── 202302XX_XXXXXX
|
||||
│ ├── 202302XX_XXXXXX.log
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
| MMYOLO version | MMDetection version | MMEngine version | MMCV version |
|
||||
| :------------: | :----------------------: | :----------------------: | :---------------------: |
|
||||
| main | mmdet>=3.0.0rc5, \<3.1.0 | mmengine>=0.3.1, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| main | mmdet>=3.0.0, \<3.1.0 | mmengine>=0.7.1, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.6.0 | mmdet>=3.0.0, \<3.1.0 | mmengine>=0.7.1, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.5.0 | mmdet>=3.0.0rc6, \<3.1.0 | mmengine>=0.6.0, \<1.0.0 | mmcv>=2.0.0rc4, \<2.1.0 |
|
||||
| 0.4.0 | mmdet>=3.0.0rc5, \<3.1.0 | mmengine>=0.3.1, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.3.0 | mmdet>=3.0.0rc5, \<3.1.0 | mmengine>=0.3.1, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
|
|
|
@ -324,9 +324,6 @@ docstring 是对一个类、一个函数功能与 API 接口的详细描述,
|
|||
specified, the ``out_dir`` will be the concatenation of
|
||||
``out_dir`` and the last level directory of ``runner.work_dir``.
|
||||
Defaults to None. `Changed in version 1.3.15.`
|
||||
file_client_args (dict, optional): Arguments to instantiate a
|
||||
FileClient. See :class:`mmcv.fileio.FileClient` for details.
|
||||
Defaults to None. `New in version 1.3.15.`
|
||||
|
||||
Warning:
|
||||
Before v1.3.15, the ``out_dir`` argument indicates the path where the
|
||||
|
|
|
@ -203,7 +203,7 @@ python demo/featmap_vis_demo.py demo/demo.jpg configs/yolov8/yolov8_s_syncbn_fas
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # 这里将 LetterResize 修改成 mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
|
|
@ -61,7 +61,7 @@ codebase_config = dict(
|
|||
_base_ = '../../yolov5/yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
_base_ = '../../yolov5/yolov5_s-v61_syncbn_8xb16-300e_coco.py'
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
scale=_base_.img_scale,
|
||||
|
@ -113,7 +113,7 @@ batch_shapes_cfg = dict(
|
|||
extra_pad_ratio=0.5)
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -90,8 +90,7 @@ python demo/featmap_vis_demo.py demo/dog.jpg \
|
|||
```python
|
||||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args={{_base_.file_client_args}}),
|
||||
type='LoadImageFromFile'),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -112,7 +111,7 @@ test_pipeline = [
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # 这里将 LetterResize 修改成 mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
@ -197,7 +196,7 @@ python demo/featmap_vis_demo.py demo/dog.jpg \
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -218,7 +217,7 @@ test_pipeline = [
|
|||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=_base_.file_client_args),
|
||||
backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=img_scale, keep_ratio=False), # 这里将 LetterResize 修改成 mmdet.Resize
|
||||
dict(type='LoadAnnotations', with_bbox=True, _scope_='mmdet'),
|
||||
dict(
|
||||
|
|
|
@ -86,12 +86,10 @@ YOLOv5 的训练与测试的数据流存在一定差异,这里我们分别进
|
|||
```python
|
||||
dataset_type = 'CocoDataset' # 数据集类型,这将被用来定义数据集
|
||||
data_root = 'data/coco/' # 数据的根路径
|
||||
file_client_args = dict(backend='disk') # 文件读取后端的配置,默认从硬盘读取
|
||||
|
||||
pre_transform = [ # 训练数据读取流程
|
||||
dict(
|
||||
type='LoadImageFromFile', # 第 1 个流程,从文件路径里加载图像
|
||||
file_client_args=file_client_args), # 文件读取后端的配置,默认从硬盘读取
|
||||
type='LoadImageFromFile'), # 第 1 个流程,从文件路径里加载图像
|
||||
dict(type='LoadAnnotations', # 第 2 个流程,对于当前图像,加载它的注释信息
|
||||
with_bbox=True) # 是否使用标注框(bounding box),目标检测需要设置为 True
|
||||
]
|
||||
|
@ -156,8 +154,7 @@ YOLOv5 测试阶段采用 [Letter Resize](https://github.com/open-mmlab/mmyolo/b
|
|||
```python
|
||||
test_pipeline = [ # 测试数据处理流程
|
||||
dict(
|
||||
type='LoadImageFromFile', # 第 1 个流程,从文件路径里加载图像
|
||||
file_client_args=file_client_args), # 文件读取后端的配置,默认从硬盘读取
|
||||
type='LoadImageFromFile'), # 第 1 个流程,从文件路径里加载图像
|
||||
dict(type='YOLOv5KeepRatioResize', # 第 2 个流程,保持长宽比的图像大小缩放
|
||||
scale=img_scale), # 图像缩放的目标尺寸
|
||||
dict(
|
||||
|
@ -475,8 +472,7 @@ train_pipeline = [
|
|||
|
||||
test_pipeline = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args={{_base_.file_client_args}}),
|
||||
type='LoadImageFromFile'),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
@ -515,7 +511,6 @@ model = dict(
|
|||
```python
|
||||
_base_ = '../_base_/default_runtime.py'
|
||||
|
||||
file_client_args = {{_base_.file_client_args}} # 变量 file_client_args 等于 _base_ 中定义的 file_client_args
|
||||
pre_transform = _base_.pre_transform # 变量 pre_transform 等于 _base_ 中定义的 pre_transform
|
||||
```
|
||||
|
||||
|
|
|
@ -64,15 +64,13 @@ mmyolo
|
|||
```python
|
||||
dataset_type = 'YOLOv5DOTADataset' # 数据集类型,这将被用来定义数据集
|
||||
data_root = 'data/split_ss_dota/' # 数据的根路径
|
||||
file_client_args = dict(backend='disk') # 文件读取后端的配置,默认从硬盘读取
|
||||
|
||||
angle_version = 'le90' # 角度范围的定义,目前支持 oc, le90 和 le135
|
||||
|
||||
train_pipeline = [
|
||||
# 训练数据读取流程
|
||||
dict(
|
||||
type='LoadImageFromFile', # 第 1 个流程,从文件路径里加载图像
|
||||
file_client_args=file_client_args), # 文件读取后端的配置,默认从硬盘读取
|
||||
type='LoadImageFromFile'), # 第 1 个流程,从文件路径里加载图像
|
||||
dict(type='LoadAnnotations', # 第 2 个流程,对于当前图像,加载它的注释信息
|
||||
with_bbox=True, # 是否使用标注框 (bounding box),目标检测需要设置为 True
|
||||
box_type='qbox'), # 指定读取的标注格式,旋转框数据集默认的数据格式为四边形
|
||||
|
@ -122,7 +120,7 @@ RTMDet-R 测试阶段仅采用 Resize 和 Pad,在验证和评测时,都采
|
|||
|
||||
```python
|
||||
val_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True),
|
||||
dict(
|
||||
type='mmdet.Pad', size=(1024, 1024),
|
||||
|
@ -205,8 +203,7 @@ dataset_type='YOLOv5CocoDataset'
|
|||
train_pipeline = [
|
||||
# 训练数据读取流程
|
||||
dict(
|
||||
type='LoadImageFromFile', # 第 1 个流程,从文件路径里加载图像
|
||||
file_client_args=file_client_args), # 文件读取后端的配置,默认从硬盘读取
|
||||
type='LoadImageFromFile'), # 第 1 个流程,从文件路径里加载图像
|
||||
dict(type='LoadAnnotations', # 第 2 个流程,对于当前图像,加载它的注释信息
|
||||
with_bbox=True, # 是否使用标注框 (bounding box),目标检测需要设置为 True
|
||||
with_mask=True, # 读取储存在 segmentation 标注中的多边形标注
|
||||
|
|
|
@ -10,11 +10,11 @@ mmcv_minimum_version = '2.0.0rc4'
|
|||
mmcv_maximum_version = '2.1.0'
|
||||
mmcv_version = digit_version(mmcv.__version__)
|
||||
|
||||
mmengine_minimum_version = '0.6.0'
|
||||
mmengine_minimum_version = '0.7.1'
|
||||
mmengine_maximum_version = '1.0.0'
|
||||
mmengine_version = digit_version(mmengine.__version__)
|
||||
|
||||
mmdet_minimum_version = '3.0.0rc6'
|
||||
mmdet_minimum_version = '3.0.0'
|
||||
mmdet_maximum_version = '3.1.0'
|
||||
mmdet_version = digit_version(mmdet.__version__)
|
||||
|
||||
|
|
|
@ -512,7 +512,7 @@ class LoadAnnotations(MMDET_LoadAnnotations):
|
|||
repr_str += f'mask2bbox={self.mask2bbox}, '
|
||||
repr_str += f'poly2mask={self.poly2mask}, '
|
||||
repr_str += f"imdecode_backend='{self.imdecode_backend}', "
|
||||
repr_str += f'file_client_args={self.file_client_args})'
|
||||
repr_str += f'backend_args={self.backend_args})'
|
||||
return repr_str
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Copyright (c) OpenMMLab. All rights reserved.
|
||||
|
||||
__version__ = '0.5.0'
|
||||
__version__ = '0.6.0'
|
||||
|
||||
from typing import Tuple
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ model = dict(
|
|||
bbox_head=dict(head_module=dict(widen_factor=widen_factor)))
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
@ -51,7 +51,7 @@ train_pipeline = [
|
|||
]
|
||||
|
||||
train_pipeline_stage2 = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='mmdet.RandomResize',
|
||||
|
|
|
@ -30,7 +30,7 @@ model = dict(
|
|||
bbox_head=dict(head_module=dict(widen_factor=widen_factor)))
|
||||
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=_base_.file_client_args),
|
||||
dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
|
|
|
@ -8,16 +8,14 @@ train_batch_size_per_gpu = 32
|
|||
base_lr = _base_.base_lr * train_batch_size_per_gpu \
|
||||
/ _base_.train_batch_size_per_gpu / 2
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
img_scale=(640, 640),
|
||||
pad_val=114.0,
|
||||
pre_transform=[
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]),
|
||||
dict(
|
||||
|
|
|
@ -3,7 +3,7 @@ _base_ = './yolov5_s-v61_fast_1xb96-100e_ionogram.py'
|
|||
# ======================= Modified parameters =====================
|
||||
# -----train val related-----
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=(640, 640)),
|
||||
dict(
|
||||
|
|
|
@ -3,16 +3,14 @@ _base_ = './yolov5_s-v61_fast_1xb96-100e_ionogram.py'
|
|||
# ======================= Modified parameters =====================
|
||||
# -----train val related-----
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
img_scale=(640, 640),
|
||||
pad_val=114.0,
|
||||
pre_transform=[
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]),
|
||||
dict(
|
||||
|
|
|
@ -3,16 +3,14 @@ _base_ = './yolov5_s-v61_fast_1xb96-100e_ionogram.py'
|
|||
# ======================= Modified parameters =====================
|
||||
# -----train val related-----
|
||||
train_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True),
|
||||
dict(
|
||||
type='Mosaic',
|
||||
img_scale=(640, 640),
|
||||
pad_val=114.0,
|
||||
pre_transform=[
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]),
|
||||
dict(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
docutils==0.16.0
|
||||
mmcv>=2.0.0rc4,<2.1.0
|
||||
mmdet>=3.0.0rc6
|
||||
mmengine>=0.6.0
|
||||
mmdet>=3.0.0
|
||||
mmengine>=0.7.1
|
||||
myst-parser
|
||||
-e git+https://github.com/open-mmlab/pytorch_sphinx_theme.git#egg=pytorch_sphinx_theme
|
||||
sphinx==4.0.2
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
mmcv>=2.0.0rc4,<2.1.0
|
||||
mmdet>=3.0.0rc6
|
||||
mmengine>=0.6.0
|
||||
mmdet>=3.0.0
|
||||
mmengine>=0.7.1
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
codecov
|
||||
flake8
|
||||
interrogate
|
||||
isort==4.3.21
|
||||
|
|
|
@ -24,9 +24,7 @@ class TestMosaic(unittest.TestCase):
|
|||
tearDown() -> cleanUp()
|
||||
"""
|
||||
self.pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -107,9 +105,7 @@ class TestMosaic(unittest.TestCase):
|
|||
def test_transform_with_mask(self):
|
||||
rng = np.random.RandomState(0)
|
||||
pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True, with_mask=True)
|
||||
]
|
||||
|
||||
|
@ -157,9 +153,7 @@ class TestMosaic9(unittest.TestCase):
|
|||
"""
|
||||
rng = np.random.RandomState(0)
|
||||
self.pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -249,9 +243,7 @@ class TestYOLOv5MixUp(unittest.TestCase):
|
|||
tearDown() -> cleanUp()
|
||||
"""
|
||||
self.pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
self.dataset = YOLOv5CocoDataset(
|
||||
|
@ -307,9 +299,7 @@ class TestYOLOv5MixUp(unittest.TestCase):
|
|||
def test_transform_with_mask(self):
|
||||
rng = np.random.RandomState(0)
|
||||
pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True, with_mask=True)
|
||||
]
|
||||
dataset = YOLOv5CocoDataset(
|
||||
|
@ -357,9 +347,7 @@ class TestYOLOXMixUp(unittest.TestCase):
|
|||
"""
|
||||
rng = np.random.RandomState(0)
|
||||
self.pre_transform = [
|
||||
dict(
|
||||
type='LoadImageFromFile',
|
||||
file_client_args=dict(backend='disk')),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
self.dataset = YOLOv5CocoDataset(
|
||||
|
|
|
@ -27,8 +27,6 @@ log_level = 'INFO'
|
|||
load_from = None
|
||||
resume = False
|
||||
|
||||
file_client_args = dict(backend='disk')
|
||||
|
||||
# dataset settings
|
||||
data_root = 'data/coco/'
|
||||
dataset_type = 'YOLOv5CocoDataset'
|
||||
|
@ -133,7 +131,7 @@ albu_train_transforms = [
|
|||
]
|
||||
|
||||
pre_transform = [
|
||||
dict(type='LoadImageFromFile', file_client_args=file_client_args),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='LoadAnnotations', with_bbox=True)
|
||||
]
|
||||
|
||||
|
@ -185,7 +183,7 @@ train_dataloader = dict(
|
|||
pipeline=train_pipeline))
|
||||
|
||||
test_pipeline = [
|
||||
dict(type='LoadImageFromFile', file_client_args=file_client_args),
|
||||
dict(type='LoadImageFromFile'),
|
||||
dict(type='YOLOv5KeepRatioResize', scale=img_scale),
|
||||
dict(
|
||||
type='LetterResize',
|
||||
|
|
|
@ -4,6 +4,7 @@ import os
|
|||
import os.path as osp
|
||||
|
||||
from mmdet.engine.hooks.utils import trigger_visualization_hook
|
||||
from mmdet.utils import setup_cache_size_limit_of_dynamo
|
||||
from mmengine.config import Config, ConfigDict, DictAction
|
||||
from mmengine.evaluator import DumpResults
|
||||
from mmengine.runner import Runner
|
||||
|
@ -63,7 +64,10 @@ def parse_args():
|
|||
choices=['none', 'pytorch', 'slurm', 'mpi'],
|
||||
default='none',
|
||||
help='job launcher')
|
||||
parser.add_argument('--local_rank', type=int, default=0)
|
||||
# When using PyTorch version >= 2.0.0, the `torch.distributed.launch`
|
||||
# will pass the `--local-rank` parameter to `tools/train.py` instead
|
||||
# of `--local_rank`.
|
||||
parser.add_argument('--local_rank', '--local-rank', type=int, default=0)
|
||||
args = parser.parse_args()
|
||||
if 'LOCAL_RANK' not in os.environ:
|
||||
os.environ['LOCAL_RANK'] = str(args.local_rank)
|
||||
|
@ -73,6 +77,10 @@ def parse_args():
|
|||
def main():
|
||||
args = parse_args()
|
||||
|
||||
# Reduce the number of repeated compilations and improve
|
||||
# training speed.
|
||||
setup_cache_size_limit_of_dynamo()
|
||||
|
||||
# load config
|
||||
cfg = Config.fromfile(args.config)
|
||||
# replace the ${key} with the value of cfg.key
|
||||
|
|
|
@ -4,6 +4,7 @@ import logging
|
|||
import os
|
||||
import os.path as osp
|
||||
|
||||
from mmdet.utils import setup_cache_size_limit_of_dynamo
|
||||
from mmengine.config import Config, DictAction
|
||||
from mmengine.logging import print_log
|
||||
from mmengine.runner import Runner
|
||||
|
@ -44,7 +45,10 @@ def parse_args():
|
|||
choices=['none', 'pytorch', 'slurm', 'mpi'],
|
||||
default='none',
|
||||
help='job launcher')
|
||||
parser.add_argument('--local_rank', type=int, default=0)
|
||||
# When using PyTorch version >= 2.0.0, the `torch.distributed.launch`
|
||||
# will pass the `--local-rank` parameter to `tools/train.py` instead
|
||||
# of `--local_rank`.
|
||||
parser.add_argument('--local_rank', '--local-rank', type=int, default=0)
|
||||
args = parser.parse_args()
|
||||
if 'LOCAL_RANK' not in os.environ:
|
||||
os.environ['LOCAL_RANK'] = str(args.local_rank)
|
||||
|
@ -55,6 +59,10 @@ def parse_args():
|
|||
def main():
|
||||
args = parse_args()
|
||||
|
||||
# Reduce the number of repeated compilations and improve
|
||||
# training speed.
|
||||
setup_cache_size_limit_of_dynamo()
|
||||
|
||||
# load config
|
||||
cfg = Config.fromfile(args.config)
|
||||
# replace the ${key} with the value of cfg.key
|
||||
|
|
Loading…
Reference in New Issue