Torch学习——使用CUDA

Torch学习——使用CUDA


1. CUDA安装

CUDA在Ubuntu下的安装[1]还是很方便的,但不知为什么很多安装Caffe的教程都把CUDA安装搞得很繁琐。

2. 代码示例


输入[4]请求使用“cutorch”包。cutorch包是torch的CUDA版本,torch提供FloatTensor张量,而cutorch能提供所有运算在GPU上操作的CudaTensor张量。cutorch中的函数可以设置和获得设备的属性等信息[2]。

输入[7]创建了1个CudaTensor张量,看起来是个100维向量,用fill填充0.5至每个向量的元素。add函数实现两个向量间按元素相加,相加结果赋给t1。

输入[8]为GPU张量和CPU张量的相互转换。
GPU张量转CPU张量:t1是CudaTensor,t1:float()则转换成CPU的FloatTensor。
CPU张量转GPU张量:t1[{}]=t1_cpu,将CPU张量的值赋值给GPU张量t1。t1_cpu:cuda()也是将CPU张量转成GPU张量,但这个GPU张量是新建的。
zero()函数可以把GPU张量清0。

输入[18]为多层感知机。MLP的定义和Keras一样。多层感知机的每层都是线性连接,激活函数为tanh。mlp定义了3层后移动至GPU。input为FloatTensor,cuda()转成CudaTensor,作为Sequential实例的forward函数的输入,forward函数的输出result是CudaTensor,float()转成FloatTensor。仅仅是个随机数向量在MLP中的前向传播过程。

输入[19]是把输入输出都为CudaTensor的多层感知机mlp包装成输入输出都为FloatTensor的多层感知机mlp_auto[3]。

3. 参考链接

[1]http://www.r-tutor.com/gpu-computing/cuda-installation/cuda7.5-ubuntu
[2]https://github.com/torch/cutorch
[3]http://code.madbits.com/wiki/doku.php?id=tutorial_cuda

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值