LSTM与rnn cuda()?

时间:2015-11-21 14:38:34

标签: cuda lstm

我有以下型号:

model = nn.Sequential()
model:add(nn.Sequencer(nn.LookupTable(nIndex, hiddenSize)))
model:add(nn.Sequencer(nn.FastLSTM(hiddenSize, hiddenSize, rho)))
model:add(nn.Sequencer(nn.Linear(hiddenSize, nIndex)))
model:add(nn.Sequencer(nn.LogSoftMax()))
然后我把模型放在cuda上:

model:cuda()

我尝试转发输入(cudatensor)并且它会中断。

FastLSTM与cuda不兼容吗?

消息:

[string "local f = function() return targets:cuda() en..."]:1: attempt to  call method 'cuda' (a nil value)

2 个答案:

答案 0 :(得分:1)

我设法在cuda上引入了一些计算,并进行了以下更改: - 首先将模型和cuda的标准放在:

model=model:cuda()
criterion=criterion:cuda()

- 第二,我建立了一个cuda张量表,我作为目标提供了:

local targetscudatable={}
for i = 1, #targets do
  table.insert(targetscudatable, targets[i]:cuda())
end

然后它可以工作,但我想知道我是否可以将更多数据发送到cuda,就像输入一样。无论如何,我已经有了500%的速度提升,并且不差

答案 1 :(得分:0)

您忘了要求 cunn 套餐:

require 'cunn'