首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火炬:使用net:cuda()和使用cudnn.somemodules有什么区别?

火炬:使用net:cuda()和使用cudnn.somemodules有什么区别?
EN

Stack Overflow用户
提问于 2017-06-04 15:39:40
回答 2查看 290关注 0票数 1

我想知道在以下几个方面有什么不同:

  1. 制作神经网络后使用net:cuda()
代码语言:javascript
复制
local net = nn.Sequential()
net:add(nn.SpatialConvolution(3, 8, 5, 5))
net:add(nn.View(8*20*20))
net:add(nn.Linear(8*20*20, 10))
net:add(nn.LogSoftMax())
net:cuda()
  1. 在完成神经网络的过程中使用cudnn.somemodules
代码语言:javascript
复制
local net = nn.Sequential()
net:add(cudnn.SpatialConvolution(3, 8, 5, 5))
net:add(cudnn.View(8*20*20))
net:add(cudnn.Linear(8*20*20, 10))
net:add(cudnn.LogSoftMax())
EN

回答 2

Stack Overflow用户

发布于 2017-10-01 02:44:26

:cuda()将使用GPU

cudnn.xxx将对GPU模型进行一些优化,因此在添加GPU模型之后,训练速度将比只使用cuda更快。

有关于cudnn利用cuDNN深层神经网络库加速机器学习的介绍

票数 0
EN

Stack Overflow用户

发布于 2021-03-12 12:13:52

cuda()是一个调用,将张量移动到GPU,以便更快地计算操作。

cudnn是一个库达优化模块库,类似于nn。如果在GPU上工作,使用cudnn分析将更快,但您的代码将不能移植到CPU设备上:

NVIDIA CUDA深层神经网络(cuDNN)是一个用于深层神经网络的GPU加速基元库.它为DNN应用程序中频繁出现的例程提供了高度调优的实现。这些发行说明描述了cuDNN 8.1.1和更早版本的关键特性、软件增强和改进以及已知的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44355792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档