AI开发平台MODELARTS-Open-Clip基于Lite Server适配PyTorch NPU训练指导:Step8 精度评估

时间:2025-03-12 09:40:08

Step8 精度评估

  1. 关闭数据集shuffle,保证训练数据一致。

    修改/home/ma-user/open_clip/src/training/data.py文件,搜索get_wds_dataset函数,将两处shuffle关闭,修改代码如下。

    if is_train:
            if not resampled:
                print("dataset unshuffled.")
                #pipeline.extend([
                #    detshuffle2(
                #        bufsize=_SHARD_SHUFFLE_SIZE,
                #        initial=_SHARD_SHUFFLE_INITIAL,
                #        seed=args.seed,
                #        epoch=shared_epoch,
                #    ),
                #    wds.split_by_node,
                #    wds.split_by_worker,
                #])
            print("wds unshuffled.")
            pipeline.extend([
                # at this point, we have an iterator over the shards assigned to each worker at each node
                tarfile_to_samples_nothrow,  # wds.tarfile_to_samples(handler=log_and_continue),
           #     wds.shuffle(
           #         bufsize=_SAMPLE_SHUFFLE_SIZE,
           #         initial=_SAMPLE_SHUFFLE_INITIAL,
           #     ),
            ])
  2. 重新训练1个epoch。脚本参考内容如下。
    cd /home/ma-user/open_clip
    python -m training.main \
        --save-frequency 1 \
        --zeroshot-frequency 1 \
        --report-to tensorboard \
        --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \
        --train-num-samples 102400 \
        --dataset-type webdataset \
        --warmup 10000 \
        --batch-size=256 \
        --lr=1e-3 \
        --wd=0.1 \
        --epochs=1 \
        --workers=8 \
        --model ViT-B-32

    训练完成后,tensorboard统计的记录会保存在/home/ma-user/open_clip/logs/xxx-model_ViT-B-32-lr_0.001-b_32-j_8-p_amp/tensorboard目录下。

  3. 通过docker cp命令将容器内tensorboard子目录复制到宿主机 /home下。
  4. 在宿主机上安装tensorboard并启动。
    pip install tensorboard  #安装
    tensorboard --logdir=/home/tensorboard --bind_all  #启动

    启动成功后如下图所示。

    图2 启动tensorboard
  5. 在浏览器访问http://{宿主机ip}:6006/。将train/loss导出为json,和GPU训练下导出的文件比较。
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1952.html