1

私は次のモデルを持っています:

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)
4

2 に答える 2

1

次の変更を加えて、cuda にいくつかの計算を導入することができました。

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

-second によって、ターゲットとして提供した cuda tensor のテーブルを作成しました。

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

それは機能しますが、入力のように、より多くのデータをcudaに送信できるかどうか疑問に思います。とにかく、私はすでに速度を 500% 向上させましたが、これは悪くありません

于 2015-11-21T15:55:35.190 に答える
0

あなたはcunnパッケージを要求するのを忘れていました:

require 'cunn'

于 2016-02-29T18:39:17.543 に答える