分布式训练多GPU使用率比较低

使用mxnet-cu100进行分布式训练,模型使用gluon提供的vgg16模型,当batch size设置为256时,单进程单卡训练GPU使用率较高;但是将训练拓展到单进程多卡,多进程多卡之后,GPU使用率开始变得很低,请问这是什么情况造成的呢,或者是不是我的启动训练的命令行有错误呢?

单进程单卡训练命令行:
python image_classification.py --dataset cifar10 --model vgg11 --epochs 50 --gpus=2 --batch-size=256,此种情况下,GPU使用率能够到70%以上;

单进程多卡训练命令行:
python image_classification.py --dataset cifar10 --model vgg11 --epochs 1 --gpus=2 --num-worker 1 --batch_size=256,
此种情况下虽然可以看到进程占用了两块GPU,但是只有一块GPU有使用率。

请问应该如何处理此问题呢?

第一个单进程单卡--gpus=1对吧?
第二个单进程多卡会比较慢的,多进程加载会快些
num_workers=0 if sys.platform.startwith('win') else 4
比较好