text: # model settings
  model = dict(
      type='ImageClassifier',
      backbone=dict(type='LeNet5', num_classes=10),
      neck=None,
      head=dict(
          type='ClsHead',
          loss=dict(type='CrossEntropyLoss', loss_weight=1.0),
      ))
  # dataset settings
  dataset_type = 'MNIST'
  img_norm_cfg = dict(mean=[33.46], std=[78.87], to_rgb=True)
  train_pipeline = [
      dict(type='Resize', size=32),
      dict(type='Normalize', **img_norm_cfg),
      dict(type='ImageToTensor', keys=['img']),
      dict(type='ToTensor', keys=['gt_label']),
  ]
  test_pipeline = [
      dict(type='Resize', size=32),
      dict(type='Normalize', **img_norm_cfg),
      dict(type='ImageToTensor', keys=['img']),
      dict(type='ToTensor', keys=['gt_label']),
  ]
  data = dict(
      samples_per_gpu=128,
      workers_per_gpu=2,
      train=dict(
          type=dataset_type, data_prefix='data/mnist', pipeline=train_pipeline),
      val=dict(
          type=dataset_type, data_prefix='data/mnist', pipeline=test_pipeline),
      test=dict(
          type=dataset_type, data_prefix='data/mnist', pipeline=test_pipeline))
  # optimizer
  optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001)
  optimizer_config = dict(grad_clip=None)
  # learning policy
  lr_config = dict(policy='step', step=[15])
  # checkpoint saving
  checkpoint_config = dict(interval=1)
  # yapf:disable
  log_config = dict(
      interval=100,
      hooks=[
          dict(type='TextLoggerHook'),
          # dict(type='TensorboardLoggerHook')
      ])
  # yapf:enable
  # runtime settings
  total_epochs = 20
  dist_params = dict(backend='nccl')
  log_level = 'INFO'
  work_dir = './work_dirs/mnist/'
  load_from = None
  resume_from = None
  workflow = [('train', 1)]
  