README.md 2.5 KB
Newer Older
qianyj's avatar
qianyj committed
1
# 简介
huchen's avatar
huchen committed
2

qianyj's avatar
qianyj committed
3
  该测试用例用于TensorFlow分类模型性能测试,使用的数据集是imagenet。
huchen's avatar
huchen committed
4

qianyj's avatar
qianyj committed
5
# 运行
6

qianyj's avatar
qianyj committed
7
## 单卡
liangjj's avatar
update  
liangjj committed
8

qianyj's avatar
qianyj committed
9
10
    export PYTHONPATH=/path/to/tensorflow/model:$PYTHONPATH
    export HIP_VISIBLE_DEVICES=0
liangjj's avatar
update  
liangjj committed
11
    #without xla
qianyj's avatar
qianyj committed
12
    python3 models-master/official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1  --use_synthetic_data=false
liangjj's avatar
update  
liangjj committed
13
14
    #with xla
    TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 models-master/official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=128 --num_gpus=1  --use_synthetic_data=false
huchen's avatar
huchen committed
15

qianyj's avatar
qianyj committed
16
## 单机多卡
liangjj's avatar
update  
liangjj committed
17

qianyj's avatar
qianyj committed
18
19
    export PYTHONPATH=/path/to/tensorflow/model:$PYTHONPATH
    export HIP_VISIBLE_DEVICES=0,1,2,3
liangjj's avatar
update  
liangjj committed
20
    #without xla
qianyj's avatar
qianyj committed
21
    python3 models-master/official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4  --use_synthetic_data=false
liangjj's avatar
update  
liangjj committed
22
23
    #with xla
    TF_XLA_FLAGS="--tf_xla_auto_jit=2" python3 models-master/official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py --data_dir=/path/to/{ImageNet-tensorflow_data_dir} --model_dir=/path/to/{model_save_dir} --batch_size=512 --num_gpus=4  --use_synthetic_data=false
huchen's avatar
huchen committed
24

qianyj's avatar
qianyj committed
25
## 分布式多卡
liangjj's avatar
update  
liangjj committed
26

qianyj's avatar
qianyj committed
27
    # sed指令只需要执行一次,添加支持多卡运行的代码
qianyj's avatar
qianyj committed
28
    sed -i '101 r configfile' models-master/official/vision/image_classification/resnet/resnet_ctl_imagenet_main.py
qianyj's avatar
qianyj committed
29
30
    
    export PYTHONPATH=/path/to/tensorflow/model:$PYTHONPATH
liangjj's avatar
update  
liangjj committed
31
    #without xla
qianyj's avatar
qianyj committed
32
    mpirun -np ${num_gpu} --hostfile hostfile  -mca btl self,tcp  --bind-to none scripts-run/single_process.sh
liangjj's avatar
update  
liangjj committed
33
34
    #with xla
    mpirun -np ${num_gpu} --hostfile hostfile  -mca btl self,tcp  --bind-to none scripts-run/single_process_xla.sh
qianyj's avatar
qianyj committed
35
36
37
38

### 测试说明

   多卡测试时需要修改部分代码,具体可参考https://tensorflow.google.cn/guide/migrate/multi_worker_cpu_gpu_training?hl=en
liangjj's avatar
update  
liangjj committed
39

qianyj's avatar
qianyj committed
40
   hostfile格式参考:
qianyj's avatar
qianyj committed
41
     
qianyj's avatar
qianyj committed
42
43
     node1 slots=4
     node2 slots=4
huchen's avatar
huchen committed
44

qianyj's avatar
qianyj committed
45
   nodefile格式参考(与hostfile文件内保持一致,用于构造TF_CONFIG):
qianyj's avatar
qianyj committed
46
     
qianyj's avatar
qianyj committed
47
48
     node1
     node2
49

qianyj's avatar
qianyj committed
50
   上面分布式多卡测试方法默认每节点4卡
51

huchen's avatar
huchen committed
52

53
# 参考资料
qianyj's avatar
qianyj committed
54
[https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks](https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks)