|
model = dict( |
|
type='ImageClassifier', |
|
backbone=dict( |
|
type='ResNet', |
|
depth=50, |
|
num_stages=4, |
|
out_indices=(3, ), |
|
style='pytorch', |
|
init_cfg=dict( |
|
type='Pretrained', |
|
checkpoint= |
|
'https://download.openmmlab.com/mmclassification/v0/resnet/resnet50_3rdparty-mill_in21k_20220331-faac000b.pth', |
|
prefix='backbone')), |
|
neck=dict(type='GlobalAveragePooling'), |
|
head=dict( |
|
type='LinearClsHead', |
|
num_classes=2, |
|
in_channels=2048, |
|
loss=dict(type='CrossEntropyLoss', loss_weight=1.0), |
|
topk=(1, ))) |
|
dataset_type = 'CustomDataset' |
|
classes = ['No', 'Yes'] |
|
img_norm_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', size=224), |
|
dict(type='RandomFlip', flip_prob=0.5, direction='horizontal'), |
|
dict( |
|
type='Normalize', |
|
mean=[123.675, 116.28, 103.53], |
|
std=[58.395, 57.12, 57.375], |
|
to_rgb=True), |
|
dict(type='ImageToTensor', keys=['img']), |
|
dict(type='ToTensor', keys=['gt_label']), |
|
dict(type='Collect', keys=['img', 'gt_label']) |
|
] |
|
test_pipeline = [ |
|
dict(type='LoadImageFromFile'), |
|
dict(type='Resize', size=(256, -1)), |
|
dict(type='CenterCrop', crop_size=224), |
|
dict( |
|
type='Normalize', |
|
mean=[123.675, 116.28, 103.53], |
|
std=[58.395, 57.12, 57.375], |
|
to_rgb=True), |
|
dict(type='ImageToTensor', keys=['img']), |
|
dict(type='Collect', keys=['img']) |
|
] |
|
data = dict( |
|
samples_per_gpu=16, |
|
workers_per_gpu=4, |
|
train=dict( |
|
type='CustomDataset', |
|
data_prefix='/work/home/acy25a367n/pornpics/pornpics-download-s', |
|
ann_file= |
|
'/work/home/acy25a367n/mmclassification/pornpics/outdoor/outdoor_train.csv', |
|
pipeline=[ |
|
dict(type='LoadImageFromFile'), |
|
dict(type='RandomResizedCrop', size=224), |
|
dict(type='RandomFlip', flip_prob=0.5, direction='horizontal'), |
|
dict( |
|
type='Normalize', |
|
mean=[123.675, 116.28, 103.53], |
|
std=[58.395, 57.12, 57.375], |
|
to_rgb=True), |
|
dict(type='ImageToTensor', keys=['img']), |
|
dict(type='ToTensor', keys=['gt_label']), |
|
dict(type='Collect', keys=['img', 'gt_label']) |
|
]), |
|
val=dict( |
|
type='CustomDataset', |
|
data_prefix='/work/home/acy25a367n/pornpics/pornpics-download-s', |
|
ann_file= |
|
'/work/home/acy25a367n/mmclassification/pornpics/outdoor/outdoor_valid.csv', |
|
pipeline=[ |
|
dict(type='LoadImageFromFile'), |
|
dict(type='Resize', size=(256, -1)), |
|
dict(type='CenterCrop', crop_size=224), |
|
dict( |
|
type='Normalize', |
|
mean=[123.675, 116.28, 103.53], |
|
std=[58.395, 57.12, 57.375], |
|
to_rgb=True), |
|
dict(type='ImageToTensor', keys=['img']), |
|
dict(type='Collect', keys=['img']) |
|
]), |
|
test=dict( |
|
type='CustomDataset', |
|
data_prefix='/work/home/acy25a367n/pornpics/pornpics-download-s', |
|
ann_file= |
|
'/work/home/acy25a367n/mmclassification/pornpics/outdoor/outdoor_valid.csv', |
|
pipeline=[ |
|
dict(type='LoadImageFromFile'), |
|
dict(type='Resize', size=(256, -1)), |
|
dict(type='CenterCrop', crop_size=224), |
|
dict( |
|
type='Normalize', |
|
mean=[123.675, 116.28, 103.53], |
|
std=[58.395, 57.12, 57.375], |
|
to_rgb=True), |
|
dict(type='ImageToTensor', keys=['img']), |
|
dict(type='Collect', keys=['img']) |
|
])) |
|
evaluation = dict( |
|
interval=1, metric='accuracy', metric_options=dict(topk=(1, ))) |
|
optimizer = dict( |
|
type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0005, nesterov=True) |
|
optimizer_config = dict(grad_clip=None) |
|
lr_config = dict( |
|
policy='CosineAnnealing', |
|
min_lr=0, |
|
warmup='linear', |
|
warmup_iters=5, |
|
warmup_ratio=0.01, |
|
warmup_by_epoch=True) |
|
runner = dict(type='EpochBasedRunner', max_epochs=100) |
|
checkpoint_config = dict(interval=1) |
|
log_config = dict(interval=4, hooks=[dict(type='TextLoggerHook')]) |
|
dist_params = dict(backend='nccl') |
|
log_level = 'INFO' |
|
load_from = None |
|
resume_from = None |
|
workflow = [('train', 1)] |
|
checkpoint = 'https://download.openmmlab.com/mmclassification/v0/resnet/resnet50_3rdparty-mill_in21k_20220331-faac000b.pth' |
|
work_dir = 'work_dirs/resnet50_8xb32_outdoor' |
|
gpu_ids = [0] |
|
|