PaddleClas/docs/zh_CN/faq.md

2.3 KiB
Raw Blame History

FAQ

  • Q: 启动训练后,为什么当前终端中的输出信息一直没有更新?
  • A: 启动运行后,日志会实时输出到mylog/workerlog.*中,可以在这里查看实时的日志。
  • Q: 多卡评估时,为什么每张卡输出的精度指标不相同?
  • A: 目前PaddleClas基于fleet api使用多卡在多卡评估时每张卡都是单独读取各自part的数据不同卡中计算的图片是不同的因此最终指标也会有微量差异如果希望得到准确的评估指标可以使用单卡评估。
  • Q: 在配置文件的TRAIN字段中配置了mix的参数,为什么mixup的数据增广预处理没有生效呢?
  • A: 使用mixup时数据预处理部分与模型输入部分均需要修改因此还需要在配置文件中显式地配置use_mix: True,才能使得mixup生效。
  • Q: 评估和预测时,已经指定了预训练模型所在文件夹的地址,但是仍然无法导入参数,这么为什么呢?
  • A: 加载预训练模型时,需要指定预训练模型的前缀,例如预训练模型参数所在的文件夹为output/ResNet50_vd/19,预训练模型参数的名称为output/ResNet50_vd/19/ppcls.pdparams,则pretrained_model参数需要指定为output/ResNet50_vd/19/ppclsPaddleClas会自动补齐.pdparams的后缀。
  • Q: 在评测EfficientNetB0_small模型时为什么最终的精度始终比官网的低0.3%左右?
  • A: EfficientNet系列的网络在进行resize的时候是使用cubic插值方式(resize参数的interpolation值设置为2)而其他模型默认情况下为None因此在训练和评估的时候需要显式地指定resiz的interpolation值。具体地可以参考以下配置中预处理过程中ResizeImage的参数。
VALID:
    batch_size: 16
    num_workers: 4
    file_list: "./dataset/ILSVRC2012/val_list.txt"
    data_dir: "./dataset/ILSVRC2012/"
    shuffle_seed: 0
    transforms:
        - DecodeImage:
            to_rgb: True
            to_np: False
            channel_first: False
        - ResizeImage:
            resize_short: 256
            interpolation: 2
        - 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: