GPU加速深度学习

发布时间:2024-11-24 20:31

如何使用GPU加速深度学习训练 #生活技巧# #学习技巧# #深度学习技巧#

最新推荐文章于 2024-09-12 10:23:09 发布

lovely_smile 于 2020-09-11 18:38:23 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

参考书籍:Python深度学习-基于PyTorch

背景:

深度学习中的一些算法,如CNN、BP、Auto-Encoder等,都可以通过矩阵运算得到,但在单核CPU上执行时,矩阵运算会被展开为循环的形式串行执行,而GPU可将矩阵运算并行执行,大大缩短计算时间。Pytorch支持使用to(device)将数据从内存转移到GPU显存,还支持定位到多个GPU的一个或多个。
PS:pytorch一般把GPU作用于tensor(FloatTensor或LongTensor等类型)或模型(包括torch.nn下面的一些网络模型及自己创建的模型)等数据结构上。

准备:

(1)判断GPU是否可用:
torch.cuda.is_available()
(2)获取可使用的GPU数量:
torch.cuda.device_count()
(3)查看平台的GPU配置信息:
nvidia_smi命令

单GPU加速:

(1)GPU作用于tensor

device=toch.device("cuda:0" if torch.cuda.is_available() else "cpu") for batch_idx,(img,label) in enumerate(train_loader): img=img.to(device) label=label.to(device) # 或是直接采用.cuda() # img=img.cuda() # label=label.cuda() 1234567 (2)GPU作用于模型:方法同(1)

model=Net() model.to(device) #或model.cuda() 123

多GPU加速:

(1)多机多GPU

一般用DistributedParallel,也可以DataParallel

(2)单机多GPU

使用DataParallel函数
假设有4个GPU,编号为0,1,2,3

device_ids=[0,1,2,3] 1

#只使用部分GPU,如编号1、2的GPU

device ='1,2' 1

#使用所有GPU

device=','.joint(map(str,device_ids)) 1 对数据
input_data=input_data.to(device)

for batch_idx,(img,label) in enumerate(train_loader): img=img.to(device) label=label.to(device) 123 对模型

net=torch.nnDataParallel(model) net.to(device) 12

网址:GPU加速深度学习 https://www.yuejiaxmz.com/news/view/242379

相关内容

【深度学习】深度学习语音识别算法的详细解析
一张图看懂AI、机器学习和深度学习的区别
手写数字识别之多GPU训练
IBM推出“深度学习即服务”:可大幅节省AI训练时间
深度学习
gpu压力测试工具
Python深度学习实践:深度学习在虚拟助理中的应用
深度学习效果
什么是深度学习,促进深度学习的策略 爱问知识人
深度学习中的优化问题(Optimization)

随便看看