MLPerf 機器學習基准測試實戰入門(二)object_detection


object_detection使用Mask R-CNN with ResNet50 backbone進行模型訓練,參考鏈接為https://github.com/Caiyishuai/training/tree/master/object_detection

將MLPerf庫拷到本地

mkdir -p mlperf
cd mlperf
git clone https://github.com/mlperf/training.git

安裝CUDA和docker

source training/install_cuda_docker.sh

建立鏡像

cd training/object_detection/
nvidia-docker build . -t mlperf/object_detection

准備Dataset

source download_dataset.sh

查看下載的數據信息,如果shell里下載較慢可以利用下載器下載

#!/bin/bash

# Get COCO 2014 data sets
mkdir -p pytorch/datasets/coco
pushd pytorch/datasets/coco curl -O https://dl.fbaipublicfiles.com/detectron/coco/coco_annotations_minival.tgz tar xzf coco_annotations_minival.tgz curl -O http://images.cocodataset.org/zips/train2014.zip unzip train2014.zip curl -O http://images.cocodataset.org/zips/val2014.zip unzip val2014.zip curl -O http://images.cocodataset.org/annotations/annotations_trainval2014.zip unzip annotations_trainval2014.zip # TBD: MD5 verification # $md5sum *.zip *.tgz #f4bbac642086de4f52a3fdda2de5fa2c annotations_trainval2017.zip #cced6f7f71b7629ddf16f17bbcfab6b2 train2017.zip #442b8da7639aecaf257c1dceb8ba8c80 val2017.zip #2d2b9d2283adb5e3b8d25eec88e65064 coco_annotations_minival.tgz  popd

如果用下載器下載在當前目錄下,更改此文件為:

tar xzf coco_annotations_minival.tgz


unzip train2014.zip


unzip val2014.zip


unzip annotations_trainval2014.zip

# TBD: MD5 verification
# $md5sum *.zip *.tgz
#f4bbac642086de4f52a3fdda2de5fa2c  annotations_trainval2017.zip
#cced6f7f71b7629ddf16f17bbcfab6b2  train2017.zip
#442b8da7639aecaf257c1dceb8ba8c80  val2017.zip
#2d2b9d2283adb5e3b8d25eec88e65064  coco_annotations_minival.tgz
 popd

啟動鏡像

nvidia-docker run -v /root/worktable/:/workspace -t -i --rm --ipc=host mlperf/object_detection "cd mlperf/training/object_detection && ./run_and_time.sh"

在鏡像中進入運行的目錄

cd mlperf/training/object_detection 

先運行./install.sh

./install.sh

install.sh里的內容,調用了pytorch/setup.py,要去下載maskrcnn-benchmark,可以先下載下來放到pytorch底下

 其中涉及聯網下載R-50.pkl,可以現在到本地,再把本地的R-50.pkl放到鏡像里的/root/.torch/models/底下

運行Benchmark

./run_and_time.sh

注意:如果單機多卡,則要更改./run_and_time.sh里的命令

查看自己電腦gpu信息

watch -d -n 1 nvidia-smi

 

 

 

 

 pytorch單機多卡訓練的命令:

python -m torch.distributed.launch --nproc_per_node=你的GPU數量
               YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 and all other
               arguments of your training script)

更改./run_and_time.sh為

 

watch -d -n 1 nvidia-smi可以看到自己的gpu都跑起來了

參考鏈接:https://blog.csdn.net/han2529386161/article/details/102723482


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM