pytorch网络转移cuda的实现方法及步骤是什么
Admin 2022-07-23 群英技术资讯 1230 次浏览
今天这篇给大家分享的知识是“pytorch网络转移cuda的实现方法及步骤是什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“pytorch网络转移cuda的实现方法及步骤是什么”文章能帮助大家解决问题。神经网络一般用GPU来跑,我们的神经网络框架一般也都安装的GPU版本,本文就简单记录一下GPU使用的编写。
GPU的设置不在model,而是在Train的初始化上。
self.GPU_IN_USE = torch.cuda.is_available()
就是返回这个可不可以用GPU的函数,当你的pytorch是cpu版本的时候,他就会返回False。
self.device = torch.device('cuda' if self.GPU_IN_USE else 'cpu')
torch.device是代表将torch.tensor分配到哪个设备的函数
接着是,我看到了一篇文章,原来就是将网络啊、数据啊、随机种子啊、损失函数啊、等等等等直接转移到CUDA上就好了!
转移模型:
self.model = Net(num_channels=1, upscale_factor=self.upscale_factor, base_channel=64, num_residuals=4).to(self.device)
设置cuda的随机种子:
torch.cuda.manual_seed(self.seed)
转移损失函数:
self.criterion.cuda()
转移数据:
data, target = data.to(self.device), target.to(self.device)
pytorch定义网络__init__()的时候,参数不能加“cuda()", 不然参数不包含在state_dict()中,比如下面这种写法是错误的
self.W1 = nn.Parameter(torch.FloatTensor(3,3), requires_grad=True).cuda()
应该去掉".cuda()"
self.W1 = nn.Parameter(torch.FloatTensor(3,3), requires_grad=True)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python神经网络Keras实现LSTM及其参数量详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
python链式调用如何实现?关于链式调用也就是调用完一个函数后还能再继续调用其它函数,这样大大减少了代码量。那么在Python中如何实现链式调用呢?下面给大家分享一下实现方法。
这篇文章主要介绍了python数据操作之lambda表达式详情,文章基于python的相关资料展开lambda表达式具体的内容,感兴趣的小伙伴可以参考一下
这篇文章主要为大家介绍了卡尔曼滤波数据处理技巧的通俗理解及python实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了python 留一交叉验证的实例代码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008