热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python获取gpu使用率_Pytorch杂谈训练过程中CPU和GPU数据的转移

在深度学习网络中,通常使用GPU来加速我们的网络训练,但我们需要将数据还有模型从CPU传送到GPU上才能正常进行训练。1、深度学习网络中哪些东西需要转移

在深度学习网络中,通常使用GPU来加速我们的网络训练,但我们需要将数据还有模型从CPU传送到GPU上才能正常进行训练。

1、深度学习网络中哪些东西需要转移到GPU上?

(1)模型

(2)损失函数

(3)数据集的样本和标签

2、Pytorch实现

model = DABNet() #实例化DABNet网络模型
model = model.cuda() #将模型从CPU转移到GPU中loss = torch.nn.CrossEntropyLoss() #定义一个损失函数
loss = loss.cuda() #将损失函数传入GPU中for iteration, batch in enumerate(train_loader, 0): #从dataLoder中获取数据集image, label = batch #从batch中获取样本和标签image = image.cuda() #将样本传入GPUlabel = label.cuda() #将标签传入GPU#将GPU上面的数据取出到CPU上面时采用.cpu()操作
data = data.cpu() #数据从GPU传入CPU

3、注意点

(1)将模型传入GPU后,模型中初始化的参数也自动传到GPU上了

(2)存储在CPU上面的变量不能和存储在GPU上面的变量进行运算

(3)存储在不同GPU上面的变量也不能进行运算

4、数据转移后数据类型的变化

(1)Tensor数据类型的变化

简单的拿torch.FloatTensor类型的变量举例,该变量经过.cuda()操作后,数据类型会改变成torch.cuda.FloatTensor。

(2)网络模型数据类型的变化

网络模型传入GPU后,网络模型中的参数的数据类型变化如Tensor数据类型变化一致。


参考文献

将Pytorch模型从CPU转换成GPU的实现方法_python_脚本之家​www.jb51.net[开发技巧]·PyTorch如何使用GPU加速(CPU与GPU数据的相互转换)_极简AI-CSDN博客_pytorch gpu加速​blog.csdn.net
a24b4b59805981de98de61f4fe4dc543.png
创作地:2020.08.03于老家



推荐阅读
author-avatar
k78283381
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有