2023/03/30 16:36:57 - mmengine - INFO - ------------------------------------------------------------ System environment: sys.platform: linux Python: 3.7.16 (default, Jan 17 2023, 22:20:44) [GCC 11.2.0] CUDA available: True numpy_random_seed: 416478535 GPU 0: NVIDIA A100-SXM4-80GB MIG 1g.10gb CUDA_HOME: /mnt/petrelfs/share/cuda-11.3 NVCC: Cuda compilation tools, release 11.3, V11.3.109 GCC: gcc (GCC) 7.5.0 PyTorch: 1.13.1+cu116 PyTorch compiling details: PyTorch built with: - GCC 9.3 - C++ Version: 201402 - Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications - Intel(R) MKL-DNN v2.6.0 (Git Hash 52b5f107dd9cf10910aaa19cb47f3abf9b349815) - OpenMP 201511 (a.k.a. OpenMP 4.5) - LAPACK is enabled (usually provided by MKL) - NNPACK is enabled - CPU capability usage: AVX2 - CUDA Runtime 11.6 - 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_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 - CuDNN 8.2.1 (built against CUDA 11.3) - Built with CuDNN 8.3.2 - Magma 2.6.1 - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.6, CUDNN_VERSION=8.3.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wunused-local-typedefs -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.13.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=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, TorchVision: 0.14.1+cu116 OpenCV: 4.7.0 MMEngine: 0.5.0 Runtime environment: cudnn_benchmark: False mp_cfg: {'mp_start_method': 'fork', 'opencv_num_threads': 0} dist_cfg: {'backend': 'nccl'} seed: None deterministic: False Distributed launcher: none Distributed training: False GPU number: 1 ------------------------------------------------------------ 2023/03/30 16:36:58 - mmengine - INFO - Config: model = dict( type='mmrazor.MMArchitectureQuant', data_preprocessor=dict( type='mmcls.ClsDataPreprocessor', num_classes=1000, mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True), architecture=dict( type='ImageClassifier', backbone=dict( type='ResNet', depth=18, num_stages=4, out_indices=(3, ), style='pytorch'), neck=dict(type='GlobalAveragePooling'), head=dict( type='LinearClsHead', num_classes=1000, in_channels=512, loss=dict(type='CrossEntropyLoss', loss_weight=1.0), topk=(1, 5)), _scope_='mmcls'), deploy_cfg=dict( onnx_config=dict( type='onnx', export_params=True, keep_initializers_as_inputs=False, opset_version=11, save_file='end2end.onnx', input_names=['input'], output_names=['output'], input_shape=None, optimize=True, dynamic_axes=dict( input=dict({ 0: 'batch', 2: 'height', 3: 'width' }), output=dict({0: 'batch'}))), backend_config=dict( type='openvino', model_inputs=[dict(opt_shapes=dict(input=[1, 3, 224, 224]))]), codebase_config=dict(type='mmcls', task='Classification'), function_record_to_pop=[ 'mmcls.models.classifiers.ImageClassifier.forward', 'mmcls.models.classifiers.BaseClassifier.forward' ]), float_checkpoint= 'https://download.openmmlab.com/mmclassification/v0/resnet/resnet18_8xb32_in1k_20210831-fbbb1da6.pth', quantizer=dict( type='mmrazor.OpenVINOQuantizer', global_qconfig=dict( w_observer=dict(type='mmrazor.PerChannelMinMaxObserver'), a_observer=dict(type='mmrazor.MovingAverageMinMaxObserver'), w_fake_quant=dict(type='mmrazor.FakeQuantize'), a_fake_quant=dict(type='mmrazor.FakeQuantize'), w_qscheme=dict( qdtype='qint8', bit=8, is_symmetry=True, is_symmetric_range=True), a_qscheme=dict( qdtype='quint8', bit=8, is_symmetry=True, averaging_constant=0.1)), tracer=dict( type='mmrazor.CustomTracer', skipped_methods=[ 'mmcls.models.heads.ClsHead._get_loss', 'mmcls.models.heads.ClsHead._get_predictions' ]))) dataset_type = 'ImageNet' data_preprocessor = dict( num_classes=1000, mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) train_pipeline = [ dict(type='LoadImageFromFile', _scope_='mmcls'), dict(type='RandomResizedCrop', scale=224, _scope_='mmcls'), dict(type='RandomFlip', prob=0.5, direction='horizontal', _scope_='mmcls'), dict(type='PackClsInputs', _scope_='mmcls') ] test_pipeline = [ dict(type='LoadImageFromFile', _scope_='mmcls'), dict(type='ResizeEdge', scale=256, edge='short', _scope_='mmcls'), dict(type='CenterCrop', crop_size=224, _scope_='mmcls'), dict(type='PackClsInputs', _scope_='mmcls') ] train_dataloader = dict( batch_size=32, num_workers=5, dataset=dict( type='ImageNet', data_root='data/imagenet', ann_file='meta/train.txt', data_prefix='train', pipeline=[ dict(type='LoadImageFromFile'), dict(type='RandomResizedCrop', scale=224), dict(type='RandomFlip', prob=0.5, direction='horizontal'), dict(type='PackClsInputs') ], _scope_='mmcls'), sampler=dict(type='DefaultSampler', shuffle=True, _scope_='mmcls')) val_dataloader = dict( batch_size=32, num_workers=5, dataset=dict( type='ImageNet', data_root='data/imagenet', ann_file='meta/val.txt', data_prefix='val', pipeline=[ dict(type='LoadImageFromFile'), dict(type='ResizeEdge', scale=256, edge='short'), dict(type='CenterCrop', crop_size=224), dict(type='PackClsInputs') ], _scope_='mmcls'), sampler=dict(type='DefaultSampler', shuffle=False, _scope_='mmcls')) val_evaluator = dict(type='Accuracy', topk=(1, 5), _scope_='mmcls') test_dataloader = dict( batch_size=32, num_workers=5, dataset=dict( type='ImageNet', data_root='data/imagenet', ann_file='meta/val.txt', data_prefix='val', pipeline=[ dict(type='LoadImageFromFile'), dict(type='ResizeEdge', scale=256, edge='short'), dict(type='CenterCrop', crop_size=224), dict(type='PackClsInputs') ], _scope_='mmcls'), sampler=dict(type='DefaultSampler', shuffle=False, _scope_='mmcls')) test_evaluator = dict(type='Accuracy', topk=(1, 5), _scope_='mmcls') optim_wrapper = dict( optimizer=dict( type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0001, _scope_='mmcls')) param_scheduler = dict( type='MultiStepLR', by_epoch=True, milestones=[30, 60, 90], gamma=0.1, _scope_='mmcls') train_cfg = dict(by_epoch=True, max_epochs=100, val_interval=1) val_cfg = dict() test_cfg = dict( type='mmrazor.PTQLoop', calibrate_dataloader=dict(batch_size=32), calibrate_steps=32) auto_scale_lr = dict(base_batch_size=256) default_scope = 'mmcls' default_hooks = dict( timer=dict(type='IterTimerHook', _scope_='mmcls'), logger=dict(type='LoggerHook', interval=100, _scope_='mmcls'), param_scheduler=dict(type='ParamSchedulerHook', _scope_='mmcls'), checkpoint=dict(type='CheckpointHook', interval=1, _scope_='mmcls'), sampler_seed=dict(type='DistSamplerSeedHook', _scope_='mmcls'), visualization=dict( type='VisualizationHook', enable=False, _scope_='mmcls')) 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', _scope_='mmcls')] visualizer = dict( type='ClsVisualizer', vis_backends=[dict(type='LocalVisBackend')], _scope_='mmcls') log_level = 'INFO' load_from = None resume = False randomness = dict(seed=None, deterministic=False) deploy_cfg = dict( onnx_config=dict( type='onnx', export_params=True, keep_initializers_as_inputs=False, opset_version=11, save_file='end2end.onnx', input_names=['input'], output_names=['output'], input_shape=None, optimize=True, dynamic_axes=dict( input=dict({ 0: 'batch', 2: 'height', 3: 'width' }), output=dict({0: 'batch'}))), backend_config=dict( type='openvino', model_inputs=[dict(opt_shapes=dict(input=[1, 3, 224, 224]))]), codebase_config=dict(type='mmcls', task='Classification'), function_record_to_pop=[ 'mmcls.models.classifiers.ImageClassifier.forward', 'mmcls.models.classifiers.BaseClassifier.forward' ]) global_qconfig = dict( w_observer=dict(type='mmrazor.PerChannelMinMaxObserver'), a_observer=dict(type='mmrazor.MovingAverageMinMaxObserver'), w_fake_quant=dict(type='mmrazor.FakeQuantize'), a_fake_quant=dict(type='mmrazor.FakeQuantize'), w_qscheme=dict( qdtype='qint8', bit=8, is_symmetry=True, is_symmetric_range=True), a_qscheme=dict( qdtype='quint8', bit=8, is_symmetry=True, averaging_constant=0.1)) float_checkpoint = 'https://download.openmmlab.com/mmclassification/v0/resnet/resnet18_8xb32_in1k_20210831-fbbb1da6.pth' model_wrapper_cfg = dict(type='mmrazor.MMArchitectureQuantDDP') launcher = 'none' work_dir = '../experiments/benchmark/resnet18_openvino' 2023/03/30 16:36:59 - mmengine - WARNING - The "task util" registry in mmrazor did not set import location. Fallback to call `mmrazor.utils.register_all_modules` instead. 2023/03/30 16:37:24 - mmengine - INFO - Distributed training is not used, all SyncBatchNorm (SyncBN) layers in the model will be automatically reverted to BatchNormXd layers if they are used. 2023/03/30 16:37:24 - mmengine - INFO - Hooks will be executed in the following order: before_run: (VERY_HIGH ) RuntimeInfoHook (BELOW_NORMAL) LoggerHook -------------------- before_train: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook (VERY_LOW ) CheckpointHook -------------------- before_train_epoch: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook (NORMAL ) DistSamplerSeedHook -------------------- before_train_iter: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook -------------------- after_train_iter: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook (BELOW_NORMAL) LoggerHook (LOW ) ParamSchedulerHook (VERY_LOW ) CheckpointHook -------------------- after_train_epoch: (NORMAL ) IterTimerHook (LOW ) ParamSchedulerHook (VERY_LOW ) CheckpointHook -------------------- before_val_epoch: (NORMAL ) IterTimerHook -------------------- before_val_iter: (NORMAL ) IterTimerHook -------------------- after_val_iter: (NORMAL ) IterTimerHook (NORMAL ) VisualizationHook (BELOW_NORMAL) LoggerHook -------------------- after_val_epoch: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook (BELOW_NORMAL) LoggerHook (LOW ) ParamSchedulerHook (VERY_LOW ) CheckpointHook -------------------- before_test_epoch: (NORMAL ) IterTimerHook -------------------- before_test_iter: (NORMAL ) IterTimerHook -------------------- after_test_iter: (NORMAL ) IterTimerHook (NORMAL ) VisualizationHook (BELOW_NORMAL) LoggerHook -------------------- after_test_epoch: (VERY_HIGH ) RuntimeInfoHook (NORMAL ) IterTimerHook (BELOW_NORMAL) LoggerHook -------------------- after_run: (BELOW_NORMAL) LoggerHook -------------------- 2023/03/30 16:37:49 - mmengine - INFO - Epoch(test) [1563/1563] 2023/03/30 16:38:07 - mmengine - INFO - Epoch(val) [0][ 100/1563] eta: 0:04:22 time: 0.1705 data_time: 0.0151 memory: 376 2023/03/30 16:38:24 - mmengine - INFO - Epoch(val) [0][ 200/1563] eta: 0:03:59 time: 0.1793 data_time: 0.0108 memory: 376 2023/03/30 16:38:41 - mmengine - INFO - Epoch(val) [0][ 300/1563] eta: 0:03:38 time: 0.1669 data_time: 0.0143 memory: 376 2023/03/30 16:38:58 - mmengine - INFO - Epoch(val) [0][ 400/1563] eta: 0:03:21 time: 0.1892 data_time: 0.0104 memory: 376 2023/03/30 16:39:15 - mmengine - INFO - Epoch(val) [0][ 500/1563] eta: 0:03:02 time: 0.1499 data_time: 0.0155 memory: 376 2023/03/30 16:39:31 - mmengine - INFO - Epoch(val) [0][ 600/1563] eta: 0:02:44 time: 0.1599 data_time: 0.0095 memory: 376 2023/03/30 16:39:48 - mmengine - INFO - Epoch(val) [0][ 700/1563] eta: 0:02:26 time: 0.1709 data_time: 0.0152 memory: 376 2023/03/30 16:40:04 - mmengine - INFO - Epoch(val) [0][ 800/1563] eta: 0:02:08 time: 0.1792 data_time: 0.0093 memory: 376 2023/03/30 16:40:22 - mmengine - INFO - Epoch(val) [0][ 900/1563] eta: 0:01:52 time: 0.1700 data_time: 0.0088 memory: 376 2023/03/30 16:40:44 - mmengine - INFO - Epoch(val) [0][1000/1563] eta: 0:01:38 time: 0.1598 data_time: 0.0104 memory: 376 2023/03/30 16:41:01 - mmengine - INFO - Epoch(val) [0][1100/1563] eta: 0:01:20 time: 0.1799 data_time: 0.0147 memory: 376 2023/03/30 16:41:17 - mmengine - INFO - Epoch(val) [0][1200/1563] eta: 0:01:02 time: 0.1806 data_time: 0.0144 memory: 376 2023/03/30 16:41:34 - mmengine - INFO - Epoch(val) [0][1300/1563] eta: 0:00:45 time: 0.1802 data_time: 0.0099 memory: 376 2023/03/30 16:41:51 - mmengine - INFO - Epoch(val) [0][1400/1563] eta: 0:00:28 time: 0.1581 data_time: 0.0096 memory: 376 2023/03/30 16:42:07 - mmengine - INFO - Epoch(val) [0][1500/1563] eta: 0:00:10 time: 0.1500 data_time: 0.0095 memory: 376 2023/03/30 16:42:19 - mmengine - INFO - Epoch(val) [0][1563/1563] accuracy/top1: 69.7660 accuracy/top5: 89.3240