pytorch多GPU训练实例与性能对比
以下实验是我在百度公司实习的时候做的,记录下来留个小经验。
多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 bash cluster_run.sh $cmd 2>&1 1>>log.cf50_2GPU &
修改 –gres=gpu:2 即可
Python 文件代码修改
parser.add_argument('--batch_size', type=int, default=96*2, help='batch size')
修改对应 batch size 大小,保证每块GPU获得等量的训练数据,因为batch_size的改变会影响训练精度
最容易实现的单GPU训练改为多GPU训练代码
单GPU:logits, logits_aux = model(input)
多GPU:
if torch.cuda.device_count()>1:#判断是否能够有大于一的GPU资源可以调用
logits, logits_aux =nn.parallel.data_parallel(model,input)
else:
logits, logits_aux = model(input)
缺点:不是性能最好的实现方式
优点:代码嵌入适应性强,不容易报错
性能分析
该图为1到8GPU训练cifar10——97.23网络的实验对比
可以看到单核训练600轮需要53小时、双核训练600轮需要26小时、四核16、六核14、八核13。
在可运行7小时的GPU上的对比实验:单核跑完83轮、双核跑完163轮、四核跑完266轮
结论:性价比较高的是使用4~6核GPU进行训练,但是多GPU训练对于单GPU训练有所差异,训练的准确率提升会有所波动,目前发现的是负面的影响。
pytorch多GPU训练实例与性能对比相关推荐
- pytorch 多GPU训练总结(DataParallel的使用)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_40087578/arti ...
- pytorch 多GPU训练
pytorch 多GPU训练 pytorch多GPU最终还是没搞通,可用的部分是前向计算,back propagation会出错,当时运行通过,也不太确定是如何通过了的.目前是这样,有机会再来补充 p ...
- PyTorch 使用GPU训练
Pytorch 使用GPU训练 使用 GPU 训练只需要在原来的代码中修改几处就可以了. 我们有两种方式实现代码在 GPU 上进行训练 ## 方法一 .cuda() 我们可以通过对网络模型,数据,损失 ...
- pytorch指定GPU训练
主要讲单机多卡(单主机多GPUs训练) 使用多卡训练的方式有很多,当然前提是我们的设备中存在多个GPU:使用命令nvidia-smi查看当前Ubuntu平台的GPU数量,其中每个GPU被编上了序号:[ ...
- 【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①
import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...
- 【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②
import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...
- pytorch 解决gpu训练只占一块卡
一:可以为不同的GPU分配不同的batch_size: 本文主要解决pytorch在进行模型训练时出现GPU的0卡占用显存比其他卡要多的问题. 出现0卡显存更高的原因:网络在反向传播的时候,计算los ...
- pytorch——多GPU训练,CPU测试出现的问题
我在训练模型的时候使用了nn.DataParallel,并在在服务器gpu测试也同时将训练好的模型并行载入,这样没有问题,但是我将训练好的模型在本地cpu运行的时候出错.这里记录出错的地方,并记录大致 ...
- 【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
import torch import torchvision from PIL import Image from torch import nnimage_path="./test_im ...
最新文章
- ACM寒假训练第一周总结
- C语言函数集(十八)
- tomcat8.5 远程访问 manager页面
- 不要把游戏当游戏,要把游戏当明星
- 个人软件过程4 功能说明和用户体验设计
- [转]hadoop新手错误解决方法
- windows如何调用Linux的API,Windows和Native API中的系统调用?
- React开发(124):ant design学习指南之form中的属性isFieldTouched
- python大作业爬虫_爬虫大作业
- ubuntu镜像添加jdk_docker基础镜像ubuntu添加jdk1.8
- Microsoft Visual C++ 2005 SP1无法安装
- IOS 7 Xcode 5 免IDP证书 真机调试
- 遗传算法初学-旅行商问题
- 手机上php文件用什么打开方式,php是什么文件格式 php文件打开方法【图文】
- POJ 3345 Bribing FIPA 树上背包
- macpro台式计算机,回顾经典的苹果Mac台式机 你见过几个?
- 17AHU排位赛3 C题 (LCS)
- 银行业务知识冲正交易
- unitoy机器人怎么联网_乐乐智能机器人怎么联网?
- Disk-expansion
热门文章
- 解决AndroidStudio修改代码运行没变化没生效的问题-Xposed插件重载
- 如何获取轮廓(连通域)的面积、周长、矩形度、圆形度、宽长比、周径比等形状描述符?
- c++复习日记1 类的继承与派生
- 【CloudXNS码农提示】为何CNAME和MX不能共存?
- vba,自定义公式,农历互转公历,excel ,wps
- xlistview+imageloder+数据请求+下拉刷新
- ambari关闭kerberos
- c语言程序设计菜鸟教程,C语言菜鸟基础教程之a++与++a
- 2014中国七大创业趋势
- gdtool解决在微信中点击棋牌游戏类app下载链接显示已停止访问打不开的问题