我想在tensorflow-slim API中使用train_image_classifier.py进行分布式训练。我有2个由每个GPU组成的机器。 Windows 10是同一个操作系统。
tensorflow version 1. 12
use API tensorflow-slim
CUDA 9.0
cuDNN 7.5
我试图在“ PS”计算机上运行脚本“ train_image_classifier.py”,例如
python train_image_classifier.py --train_dir=my dir --dataset_name=my dataset--dataset_split_name=train --dataset_dir=my dir -- model_name=inception_v3 -- checkpoint_path=d:/tmp/my_checkpoints/inception_v3.ckpt -- checkpoint_exclude_scopes=InceptionV3/Logits -- trainable_scopes=InceptionV3/Logits --max_number_of_steps=10000 -- batch_size=16 --learning_rate=0.01 --learning_rate_decay_type=fixed -- save_interval_secs=60 --save_summaries_secs=60 --log_every_n_steps=1 -- optimizer=rmsprop --weight_decay=0.00004 -- master=grpc://192.168.0.13:3001 --num_clones=1 --worker_replicas=2 --num_ps_tasks=1 --task=0 --sync_replicas=True
,然后在我的“工作者”计算机上运行相同的脚本,例如
python train_image_classifier.py --train_dir=my dir --dataset_name=my dataset--dataset_split_name=train --dataset_dir=my dir --model_name=inception_v3 --checkpoint_path=d:/tmp/my_checkpoints/inception_v3.ckpt --checkpoint_exclude_scopes=InceptionV3/Logits --trainable_scopes=InceptionV3/Logits --max_number_of_steps=10000 --batch_size=16 --learning_rate=0.01 --learning_rate_decay_type=fixed --save_interval_secs=60 --save_summaries_secs=60 --log_every_n_steps=1 --optimizer=rmsprop --weight_decay=0.00004 --master=grpc://192.168.0.13:3001 --num_clones=1 --worker_replicas=2 --num_ps_tasks=1 --task=0 --sync_replicas=True
但是PS机器正在显示这个
和工作机显示相同的结果。
所以我尝试将命令更改为
--master=grpc://192.168.0.13:3001 --num_clones=1 --worker_replicas=2 --num_ps_tasks=1 --task=0 --sync_replicas=False or task -> 1 etc...
它不起作用。
脚本“ train_image_classifier.py”是否可以在两台机器上进行分布式训练?
我很困惑。