# global configs Global: checkpoints: null pretrained_model: null output_dir: "./output/" device: "gpu" class_num: 431 save_interval: 1 eval_during_train: True eval_interval: 1 epochs: 160 print_batch_step: 10 use_visualdl: False # used for static mode and model export image_shape: [3, 224, 224] save_inference_dir: "./inference" # model architecture Arch: name: "RecModel" Backbone: name: "ResNet50" Stoplayer: name: "flatten_0" output_dim: 2048 embedding_size: 512 Head: name: "ArcMargin" embedding_size: 512 class_num: 431 margin: 0.15 scale: 32 # loss function config for traing/eval process Loss: Train: - CELoss: weight: 1.0 - TripletLossV2: weight: 1.0 margin: 0.5 Optimizer: name: Momentum momentum: 0.9 lr: name: MultiStepDecay learning_rate: 0.01 milestones: [30, 60, 70, 80, 90, 100, 120, 140] gamma: 0.5 verbose: False last_epoch: -1 regularizer: name: 'L2' coeff: 0.0005 # data loader for train and eval DataLoader: Train: dataset: name: "CompCars" image_root: "/work/dataset/CompCars/image/" label_root: "/work/dataset/CompCars/label/" bbox_crop: True cls_label_path: "/work/dataset/CompCars/train_test_split/classification/train_label.txt" transform_ops: - ResizeImage: size: 224 - RandFlipImage: flip_code: 1 - AugMix: prob: 0.5 - NormalizeImage: scale: 0.00392157 mean: [0.485, 0.456, 0.406] std: [0.229, 0.224, 0.225] order: '' - RandomErasing: EPSILON: 0.5 sl: 0.02 sh: 0.4 r1: 0.3 mean: [0., 0., 0.] sampler: name: DistributedRandomIdentitySampler batch_size: 64 num_instances: 2 drop_last: False shuffle: True loader: num_workers: 6 use_shared_memory: False Eval: # TOTO: modify to the latest trainer dataset: name: "CompCars" image_root: "/work/dataset/CompCars/image/" label_root: "/work/dataset/CompCars/label/" cls_label_path: "/work/dataset/CompCars/train_test_split/classification/test_label.txt" bbox_crop: True transform_ops: - ResizeImage: size: 224 - NormalizeImage: scale: 0.00392157 mean: [0.485, 0.456, 0.406] std: [0.229, 0.224, 0.225] order: '' sampler: name: DistributedBatchSampler batch_size: 64 drop_last: False shuffle: False loader: num_workers: 6 use_shared_memory: False Infer: infer_imgs: "docs/images/whl/demo.jpg" batch_size: 10 transforms: - DecodeImage: to_rgb: True channel_first: False - ResizeImage: resize_short: 256 - CropImage: size: 224 - NormalizeImage: scale: 1.0/255.0 mean: [0.485, 0.456, 0.406] std: [0.229, 0.224, 0.225] order: '' - ToCHWImage: PostProcess: name: Topk topk: 5 class_id_map_file: "ppcls/utils/imagenet1k_label_list.txt" Metric: Train: - Topk: k: [1, 5] Eval: - Topk: k: [1, 5]