mmpretrain icon indicating copy to clipboard operation
mmpretrain copied to clipboard

The accuracy_top-1 has remained small and constant

Open Hone-Xu opened this issue 1 year ago • 3 comments

推荐使用英语模板 General question,以便你的问题帮助更多人。

首先确认以下内容

  • 我已经查询了相关的 issue,但没有找到需要的帮助。
  • 我已经阅读了相关文档,但仍不知道如何解决。

描述你遇到的问题

The accuracy_top-1 has remained small and constant during training

  1. 如果你修改了,或者使用了新的配置文件,请在这里写明 resnet50_8xb32_in1k.py---

base = [ '../base/models/resnet50.py', '../base/datasets/imagenet_bs32.py', '../base/schedules/imagenet_bs256.py', '../base/default_runtime.py' ]

model settings

model = dict( head=dict( num_classes=6, ))

data = dict( samples_per_gpu=32, workers_per_gpu=2, train=dict( data_prefix='data/train', classes ='data/classes.txt' ), val=dict( data_prefix='data/val', ann_file='data/val.txt', classes ='data/classes.txt' ), test=dict( # replace data/val with data/test for standard test data_prefix='data/val', ann_file='data/val.txt', classes ='data/classes.txt' )) evaluation = dict(interval=1, metric='accuracy')

optimizer

optimizer = dict(type='SGD', lr=0.001, momentum=0.9, weight_decay=0.0001) optimizer_config = dict(grad_clip=None)

learning policy

lr_config = dict(policy='step', step=[30, 60, 90]) runner = dict(type='EpochBasedRunner', max_epochs=500)

checkpoint_config = dict(interval=50) load_from = 'checkpoints/resnet50_8xb32_in1k.pth'

  1. 如果你是在训练过程中遇到的问题,请填写完整的训练日志和报错信息 2022-07-22 13:51:46,362 - mmcls - INFO - Environment info:

sys.platform: win32 Python: 3.9.12 (main, Apr 4 2022, 05:22:27) [MSC v.1916 64 bit (AMD64)] CUDA available: True GPU 0: NVIDIA GeForce RTX 3070 Ti CUDA_HOME: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3 NVCC: Cuda compilation tools, release 11.3, V11.3.58 MSVC: 用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.29.30145 版 GCC: n/a PyTorch: 1.10.1+cu113 PyTorch compiling details: PyTorch built with:

  • C++ Version: 199711
  • MSVC 192829337
  • Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
  • Intel(R) MKL-DNN v2.2.3 (Git Hash 7336ca9f055cf1bfa13efb658fe15dc9b41f0740)
  • OpenMP 2019
  • LAPACK is enabled (usually provided by MKL)
  • CPU capability usage: AVX2
  • CUDA Runtime 11.3
  • NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_37,code=compute_37
  • CuDNN 8.2
  • Magma 2.5.4
  • Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.3, CUDNN_VERSION=8.2.0, CXX_COMPILER=C:/w/b/windows/tmp_bin/sccache-cl.exe, CXX_FLAGS=/DWIN32 /D_WINDOWS /GR /EHsc /w /bigobj -DUSE_PTHREADPOOL -openmp:experimental -IC:/w/b/windows/mkl/include -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOCUPTI -DUSE_FBGEMM -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.10.1, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=OFF, USE_NNPACK=OFF, USE_OPENMP=ON,

TorchVision: 0.11.2+cu113 OpenCV: 4.6.0 MMCV: 1.5.3 MMCV Compiler: MSVC 192930140 MMCV CUDA Compiler: 11.3 MMClassification: 0.23.1+

2022-07-22 13:51:46,366 - mmcls - INFO - Distributed training: False 2022-07-22 13:51:46,689 - mmcls - INFO - Config: 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=6, in_channels=2048, loss=dict(type='CrossEntropyLoss', loss_weight=1.0), topk=(1, 5))) dataset_type = 'ImageNet' 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=32, workers_per_gpu=2, train=dict( type='ImageNet', data_prefix='data/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']) ], classes='data/classes.txt'), val=dict( type='ImageNet', data_prefix='data/val', ann_file='data/val.txt', 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']) ], classes='data/classes.txt'), test=dict( type='ImageNet', data_prefix='data/val', ann_file='data/val.txt', 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']) ], classes='data/classes.txt')) evaluation = dict(interval=1, metric='accuracy') optimizer = dict(type='SGD', lr=0.001, momentum=0.9, weight_decay=0.0001) optimizer_config = dict(grad_clip=None) lr_config = dict(policy='step', step=[30, 60, 90]) runner = dict(type='EpochBasedRunner', max_epochs=500) checkpoint_config = dict(interval=50) log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')]) dist_params = dict(backend='nccl') log_level = 'INFO' load_from = 'checkpoints/resnet50_8xb32_in1k.pth' resume_from = None workflow = [('train', 1)] work_dir = 'work-dir/ResNet' gpu_ids = [0]

2022-07-22 13:51:46,698 - mmcls - INFO - Set random seed to 2325008, deterministic: False 2022-07-22 13:51:46,841 - mmcls - INFO - initialize ResNet with init_cfg [{'type': 'Kaiming', 'layer': ['Conv2d']}, {'type': 'Constant', 'val': 1, 'layer': ['_BatchNorm', 'GroupNorm']}] 2022-07-22 13:51:47,071 - mmcls - INFO - initialize LinearClsHead with init_cfg {'type': 'Normal', 'layer': 'Linear', 'std': 0.01} Name of parameter - Initialization information

backbone.conv1.weight - torch.Size([64, 3, 7, 7]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.bn1.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.bn1.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.conv1.weight - torch.Size([64, 64, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.0.bn1.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.bn1.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.conv2.weight - torch.Size([64, 64, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.0.bn2.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.bn2.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.conv3.weight - torch.Size([256, 64, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.0.bn3.weight - torch.Size([256]): Initialized by user-defined init_weights in ResNet

backbone.layer1.0.bn3.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.downsample.0.weight - torch.Size([256, 64, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.0.downsample.1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.0.downsample.1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.1.conv1.weight - torch.Size([64, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.1.bn1.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.1.bn1.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.1.conv2.weight - torch.Size([64, 64, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.1.bn2.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.1.bn2.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.1.conv3.weight - torch.Size([256, 64, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.1.bn3.weight - torch.Size([256]): Initialized by user-defined init_weights in ResNet

backbone.layer1.1.bn3.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.2.conv1.weight - torch.Size([64, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.2.bn1.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.2.bn1.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.2.conv2.weight - torch.Size([64, 64, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.2.bn2.weight - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.2.bn2.bias - torch.Size([64]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer1.2.conv3.weight - torch.Size([256, 64, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer1.2.bn3.weight - torch.Size([256]): Initialized by user-defined init_weights in ResNet

backbone.layer1.2.bn3.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.conv1.weight - torch.Size([128, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.0.bn1.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.bn1.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.conv2.weight - torch.Size([128, 128, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.0.bn2.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.bn2.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.conv3.weight - torch.Size([512, 128, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.0.bn3.weight - torch.Size([512]): Initialized by user-defined init_weights in ResNet

backbone.layer2.0.bn3.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.downsample.0.weight - torch.Size([512, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.0.downsample.1.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.0.downsample.1.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.1.conv1.weight - torch.Size([128, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.1.bn1.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.1.bn1.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.1.conv2.weight - torch.Size([128, 128, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.1.bn2.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.1.bn2.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.1.conv3.weight - torch.Size([512, 128, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.1.bn3.weight - torch.Size([512]): Initialized by user-defined init_weights in ResNet

backbone.layer2.1.bn3.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.2.conv1.weight - torch.Size([128, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.2.bn1.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.2.bn1.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.2.conv2.weight - torch.Size([128, 128, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.2.bn2.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.2.bn2.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.2.conv3.weight - torch.Size([512, 128, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.2.bn3.weight - torch.Size([512]): Initialized by user-defined init_weights in ResNet

backbone.layer2.2.bn3.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.3.conv1.weight - torch.Size([128, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.3.bn1.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.3.bn1.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.3.conv2.weight - torch.Size([128, 128, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.3.bn2.weight - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.3.bn2.bias - torch.Size([128]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer2.3.conv3.weight - torch.Size([512, 128, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer2.3.bn3.weight - torch.Size([512]): Initialized by user-defined init_weights in ResNet

backbone.layer2.3.bn3.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.conv1.weight - torch.Size([256, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.0.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.0.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.0.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.0.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.downsample.0.weight - torch.Size([1024, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.0.downsample.1.weight - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.0.downsample.1.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.1.conv1.weight - torch.Size([256, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.1.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.1.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.1.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.1.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.1.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.1.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.1.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.1.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.2.conv1.weight - torch.Size([256, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.2.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.2.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.2.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.2.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.2.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.2.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.2.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.2.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.3.conv1.weight - torch.Size([256, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.3.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.3.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.3.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.3.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.3.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.3.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.3.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.3.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.4.conv1.weight - torch.Size([256, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.4.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.4.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.4.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.4.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.4.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.4.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.4.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.4.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.5.conv1.weight - torch.Size([256, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.5.bn1.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.5.bn1.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.5.conv2.weight - torch.Size([256, 256, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.5.bn2.weight - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.5.bn2.bias - torch.Size([256]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer3.5.conv3.weight - torch.Size([1024, 256, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer3.5.bn3.weight - torch.Size([1024]): Initialized by user-defined init_weights in ResNet

backbone.layer3.5.bn3.bias - torch.Size([1024]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.conv1.weight - torch.Size([512, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.0.bn1.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.bn1.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.conv2.weight - torch.Size([512, 512, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.0.bn2.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.bn2.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.conv3.weight - torch.Size([2048, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.0.bn3.weight - torch.Size([2048]): Initialized by user-defined init_weights in ResNet

backbone.layer4.0.bn3.bias - torch.Size([2048]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.downsample.0.weight - torch.Size([2048, 1024, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.0.downsample.1.weight - torch.Size([2048]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.0.downsample.1.bias - torch.Size([2048]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.1.conv1.weight - torch.Size([512, 2048, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.1.bn1.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.1.bn1.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.1.conv2.weight - torch.Size([512, 512, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.1.bn2.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.1.bn2.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.1.conv3.weight - torch.Size([2048, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.1.bn3.weight - torch.Size([2048]): Initialized by user-defined init_weights in ResNet

backbone.layer4.1.bn3.bias - torch.Size([2048]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.2.conv1.weight - torch.Size([512, 2048, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.2.bn1.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.2.bn1.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.2.conv2.weight - torch.Size([512, 512, 3, 3]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.2.bn2.weight - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.2.bn2.bias - torch.Size([512]): The value is the same before and after calling init_weights of ImageClassifier

backbone.layer4.2.conv3.weight - torch.Size([2048, 512, 1, 1]): KaimingInit: a=0, mode=fan_out, nonlinearity=relu, distribution =normal, bias=0

backbone.layer4.2.bn3.weight - torch.Size([2048]): Initialized by user-defined init_weights in ResNet

backbone.layer4.2.bn3.bias - torch.Size([2048]): The value is the same before and after calling init_weights of ImageClassifier

head.fc.weight - torch.Size([6, 2048]): NormalInit: mean=0, std=0.01, bias=0

head.fc.bias - torch.Size([6]): NormalInit: mean=0, std=0.01, bias=0 2022-07-22 13:51:47,715 - mmcls - INFO - load checkpoint from local path: checkpoints/resnet50_8xb32_in1k.pth 2022-07-22 13:51:47,815 - mmcls - WARNING - The model and loaded state dict do not match exactly

size mismatch for head.fc.weight: copying a param with shape torch.Size([1000, 2048]) from checkpoint, the shape in current model is torch.Size([6, 2048]). size mismatch for head.fc.bias: copying a param with shape torch.Size([1000]) from checkpoint, the shape in current model is torch.Size([6]). 2022-07-22 13:51:47,821 - mmcls - INFO - Start running, host: Administrator@WIN-LRUDD7UIHDG, work_dir: D:\MMDetection\NewLabel\mmclassification-master\work-dir\ResNet 2022-07-22 13:51:47,821 - mmcls - INFO - Hooks will be executed in the following order: before_run: (VERY_HIGH ) StepLrUpdaterHook
(NORMAL ) CheckpointHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook

before_train_epoch: (VERY_HIGH ) StepLrUpdaterHook
(LOW ) IterTimerHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook

before_train_iter: (VERY_HIGH ) StepLrUpdaterHook
(LOW ) IterTimerHook
(LOW ) EvalHook

after_train_iter: (ABOVE_NORMAL) OptimizerHook
(NORMAL ) CheckpointHook
(LOW ) IterTimerHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook

after_train_epoch: (NORMAL ) CheckpointHook
(LOW ) EvalHook
(VERY_LOW ) TextLoggerHook

before_val_epoch: (LOW ) IterTimerHook
(VERY_LOW ) TextLoggerHook

before_val_iter: (LOW ) IterTimerHook

after_val_iter: (LOW ) IterTimerHook

after_val_epoch: (VERY_LOW ) TextLoggerHook

after_run: (VERY_LOW ) TextLoggerHook

2022-07-22 13:51:47,825 - mmcls - INFO - workflow: [('train', 1)], max: 500 epochs 2022-07-22 13:51:47,825 - mmcls - INFO - Checkpoints will be saved to D:\MMDetection\NewLabel\mmclassification-master\work-dir\ResNet by HardDiskBackend. 2022-07-22 13:52:18,847 - mmcls - INFO - Epoch(val) [1][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:52:33,000 - mmcls - INFO - Epoch(val) [2][2] accuracy_top-1: 5.8824, accuracy_top-5: 97.0588 2022-07-22 13:52:46,918 - mmcls - INFO - Epoch(val) [3][2] accuracy_top-1: 5.8824, accuracy_top-5: 100.0000 2022-07-22 13:53:01,118 - mmcls - INFO - Epoch(val) [4][2] accuracy_top-1: 11.7647, accuracy_top-5: 100.0000 2022-07-22 13:53:15,070 - mmcls - INFO - Epoch(val) [5][2] accuracy_top-1: 14.7059, accuracy_top-5: 94.1176 2022-07-22 13:53:29,168 - mmcls - INFO - Epoch(val) [6][2] accuracy_top-1: 11.7647, accuracy_top-5: 97.0588 2022-07-22 13:53:43,413 - mmcls - INFO - Epoch(val) [7][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:53:57,324 - mmcls - INFO - Epoch(val) [8][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:54:11,536 - mmcls - INFO - Epoch(val) [9][2] accuracy_top-1: 8.8235, accuracy_top-5: 91.1765 2022-07-22 13:54:25,978 - mmcls - INFO - Epoch(val) [10][2] accuracy_top-1: 8.8235, accuracy_top-5: 91.1765 2022-07-22 13:54:40,063 - mmcls - INFO - Epoch(val) [11][2] accuracy_top-1: 8.8235, accuracy_top-5: 91.1765 2022-07-22 13:54:54,071 - mmcls - INFO - Epoch(val) [12][2] accuracy_top-1: 8.8235, accuracy_top-5: 85.2941 2022-07-22 13:55:07,980 - mmcls - INFO - Epoch(val) [13][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 13:55:21,981 - mmcls - INFO - Epoch(val) [14][2] accuracy_top-1: 8.8235, accuracy_top-5: 82.3529 2022-07-22 13:55:35,898 - mmcls - INFO - Epoch(val) [15][2] accuracy_top-1: 8.8235, accuracy_top-5: 88.2353 2022-07-22 13:55:49,903 - mmcls - INFO - Epoch(val) [16][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 13:56:03,732 - mmcls - INFO - Epoch(val) [17][2] accuracy_top-1: 11.7647, accuracy_top-5: 91.1765 2022-07-22 13:56:17,877 - mmcls - INFO - Epoch(val) [18][2] accuracy_top-1: 8.8235, accuracy_top-5: 91.1765 2022-07-22 13:56:31,750 - mmcls - INFO - Epoch(val) [19][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 13:56:45,820 - mmcls - INFO - Epoch(val) [20][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:56:59,887 - mmcls - INFO - Epoch(val) [21][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:57:13,701 - mmcls - INFO - Epoch(val) [22][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:57:27,812 - mmcls - INFO - Epoch(val) [23][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:57:41,558 - mmcls - INFO - Epoch(val) [24][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:57:55,879 - mmcls - INFO - Epoch(val) [25][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:58:09,899 - mmcls - INFO - Epoch(val) [26][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 13:58:23,912 - mmcls - INFO - Epoch(val) [27][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 13:58:38,078 - mmcls - INFO - Epoch(val) [28][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 13:58:52,013 - mmcls - INFO - Epoch(val) [29][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 13:59:06,297 - mmcls - INFO - Epoch(val) [30][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 13:59:20,183 - mmcls - INFO - Epoch(val) [31][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 13:59:34,302 - mmcls - INFO - Epoch(val) [32][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 13:59:48,490 - mmcls - INFO - Epoch(val) [33][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:00:02,514 - mmcls - INFO - Epoch(val) [34][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 14:00:16,863 - mmcls - INFO - Epoch(val) [35][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:00:31,233 - mmcls - INFO - Epoch(val) [36][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 14:00:45,643 - mmcls - INFO - Epoch(val) [37][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 14:00:59,349 - mmcls - INFO - Epoch(val) [38][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:01:13,292 - mmcls - INFO - Epoch(val) [39][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:01:27,793 - mmcls - INFO - Epoch(val) [40][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:01:42,801 - mmcls - INFO - Epoch(val) [41][2] accuracy_top-1: 8.8235, accuracy_top-5: 94.1176 2022-07-22 14:01:57,752 - mmcls - INFO - Epoch(val) [42][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:02:12,304 - mmcls - INFO - Epoch(val) [43][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:02:27,123 - mmcls - INFO - Epoch(val) [44][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:02:41,939 - mmcls - INFO - Epoch(val) [45][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 14:02:56,721 - mmcls - INFO - Epoch(val) [46][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:03:11,307 - mmcls - INFO - Epoch(val) [47][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:03:25,626 - mmcls - INFO - Epoch(val) [48][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:03:40,316 - mmcls - INFO - Epoch(val) [49][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 14:03:52,266 - mmcls - INFO - Saving checkpoint at 50 epochs 2022-07-22 14:03:56,207 - mmcls - INFO - Epoch(val) [50][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000 2022-07-22 14:04:10,672 - mmcls - INFO - Epoch(val) [51][2] accuracy_top-1: 8.8235, accuracy_top-5: 97.0588 2022-07-22 14:04:25,401 - mmcls - INFO - Epoch(val) [52][2] accuracy_top-1: 8.8235, accuracy_top-5: 100.0000

Hone-Xu avatar Jul 22 '22 06:07 Hone-Xu

数据集: image image image image

Hone-Xu avatar Jul 22 '22 06:07 Hone-Xu

image

Hone-Xu avatar Jul 22 '22 06:07 Hone-Xu

Your dataset is small, try to use a smaller batchsize.

And use a smaller log.interval to observe the losses:

log_config = dict(interval=1, hooks=[dict(type='TextLoggerHook')])

Ezra-Yu avatar Jul 22 '22 09:07 Ezra-Yu

This issue will be closed as it is inactive, feel free to re-open it if necessary.

tonysy avatar Dec 12 '22 15:12 tonysy