mirror of
https://github.com/open-mmlab/mmdeploy.git
synced 2025-01-14 08:09:43 +08:00
149 lines
4.7 KiB
Python
149 lines
4.7 KiB
Python
# Copyright (c) OpenMMLab. All rights reserved.
|
|
# model settings
|
|
model = dict(
|
|
type='ImageClassifier',
|
|
backbone=dict(
|
|
type='ResNet',
|
|
depth=50,
|
|
num_stages=4,
|
|
out_indices=(3, ),
|
|
style='pytorch'),
|
|
neck=dict(type='GlobalAveragePooling'),
|
|
head=dict(
|
|
type='LinearClsHead',
|
|
num_classes=1000,
|
|
in_channels=2048,
|
|
loss=dict(type='CrossEntropyLoss', loss_weight=1.0),
|
|
topk=(1, 5),
|
|
))
|
|
|
|
# dataset settings
|
|
dataset_type = 'ImageNet'
|
|
img_norm_cfg = dict(
|
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
|
test_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='Resize', size=(256, -1)),
|
|
dict(type='CenterCrop', crop_size=224),
|
|
dict(type='Normalize', **img_norm_cfg),
|
|
dict(type='ImageToTensor', keys=['img']),
|
|
dict(type='Collect', keys=['img'])
|
|
]
|
|
data = dict(
|
|
samples_per_gpu=32,
|
|
workers_per_gpu=2,
|
|
test=dict(
|
|
type=dataset_type,
|
|
data_prefix='tests/test_codebase/test_mmcls/data/imgs',
|
|
ann_file='ann.txt',
|
|
pipeline=test_pipeline))
|
|
evaluation = dict(interval=1, metric='accuracy')
|
|
|
|
model = dict(
|
|
type='ImageClassifier',
|
|
backbone=dict(
|
|
type='ResNet',
|
|
depth=50,
|
|
num_stages=4,
|
|
out_indices=(3, ),
|
|
style='pytorch'),
|
|
neck=dict(type='GlobalAveragePooling'),
|
|
head=dict(
|
|
type='LinearClsHead',
|
|
num_classes=1000,
|
|
in_channels=2048,
|
|
loss=dict(type='CrossEntropyLoss', loss_weight=1.0),
|
|
topk=(1, 5)))
|
|
dataset_type = 'ImageNet'
|
|
preprocess_cfg = dict(
|
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
|
train_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='RandomResizedCrop', scale=224),
|
|
dict(type='RandomFlip', prob=0.5, direction='horizontal'),
|
|
dict(type='PackClsInputs')
|
|
]
|
|
test_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='ResizeEdge', scale=256, edge='short'),
|
|
dict(type='CenterCrop', crop_size=224),
|
|
dict(type='PackClsInputs')
|
|
]
|
|
train_dataloader = dict(
|
|
batch_size=32,
|
|
num_workers=5,
|
|
dataset=dict(
|
|
type='ImageNet',
|
|
data_root='tests/test_codebase/test_mmcls/data/imgs',
|
|
ann_file='ann.txt',
|
|
data_prefix='train',
|
|
pipeline=[
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='RandomResizedCrop', scale=224),
|
|
dict(type='RandomFlip', prob=0.5, direction='horizontal'),
|
|
dict(type='PackClsInputs')
|
|
]),
|
|
sampler=dict(type='DefaultSampler', shuffle=True),
|
|
persistent_workers=True)
|
|
val_dataloader = dict(
|
|
batch_size=32,
|
|
num_workers=5,
|
|
dataset=dict(
|
|
type='ImageNet',
|
|
data_root='tests/test_codebase/test_mmcls/data/imgs',
|
|
ann_file='ann.txt',
|
|
data_prefix='val',
|
|
pipeline=[
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='ResizeEdge', scale=256, edge='short'),
|
|
dict(type='CenterCrop', crop_size=224),
|
|
dict(type='PackClsInputs')
|
|
]),
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
persistent_workers=True)
|
|
val_evaluator = dict(type='Accuracy', topk=(1, 5))
|
|
test_dataloader = dict(
|
|
batch_size=32,
|
|
num_workers=5,
|
|
dataset=dict(
|
|
type='ImageNet',
|
|
data_root='tests/test_codebase/test_mmcls/data/imgs',
|
|
ann_file='ann.txt',
|
|
data_prefix='val',
|
|
pipeline=[
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='ResizeEdge', scale=256, edge='short'),
|
|
dict(type='CenterCrop', crop_size=224),
|
|
dict(type='PackClsInputs')
|
|
]),
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
persistent_workers=True)
|
|
test_evaluator = dict(type='Accuracy', topk=(1, 5))
|
|
optim_wrapper = dict(
|
|
optimizer=dict(type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0001))
|
|
param_scheduler = dict(
|
|
type='MultiStepLR', by_epoch=True, milestones=[30, 60, 90], gamma=0.1)
|
|
train_cfg = dict(by_epoch=True, max_epochs=100)
|
|
val_cfg = dict(interval=1)
|
|
test_cfg = dict()
|
|
default_scope = 'mmcls'
|
|
default_hooks = dict(
|
|
timer=dict(type='IterTimerHook'),
|
|
logger=dict(type='LoggerHook', interval=100),
|
|
param_scheduler=dict(type='ParamSchedulerHook'),
|
|
checkpoint=dict(type='CheckpointHook', interval=1),
|
|
sampler_seed=dict(type='DistSamplerSeedHook'),
|
|
visualization=dict(type='VisualizationHook', enable=False))
|
|
env_cfg = dict(
|
|
cudnn_benchmark=False,
|
|
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0),
|
|
dist_cfg=dict(backend='nccl'))
|
|
vis_backends = [dict(type='LocalVisBackend')]
|
|
visualizer = dict(
|
|
type='ClsVisualizer',
|
|
vis_backends=[dict(type='LocalVisBackend')],
|
|
name='visualizer')
|
|
log_level = 'INFO'
|
|
load_from = None
|
|
resume = False
|