以下实验是我在百度公司实习的时候做的,记录下来留个小经验。 多GPU训练 cifar10_97.23 使用 run.sh 文件开始训练 cifar10_97.50 使用 run.4GPU.sh 开始训练 在集群中改变GPU调用个数修改 run.sh 文件 nohup srun --job-name=cf23 $pt --gres=gpu:2 -n1 bas
以下实验是我在百度公司实习的时候做的,记录下来留个小经验。
修改 –gres=gpu:2 即可 Python 文件代码修改
修改对应 batch size 大小,保证每块GPU获得等量的训练数据,因为batch_size的改变会影响训练精度 最容易实现的单GPU训练改为多GPU训练代码 单GPU:logits, logits_aux = model(input) 多GPU:
缺点:不是性能最好的实现方式 优点:代码嵌入适应性强,不容易报错 性能分析 该图为1到8GPU训练cifar10——97.23网络的实验对比 ![]()
可以看到单核训练600轮需要53小时、双核训练600轮需要26小时、四核16、六核14、八核13。 |
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27