您的位置:首页 > 其它

Torch学习——使用CUDA

2015-11-12 19:46 405 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: