github ( https://github.com/torch/demos/tree/master/train-a-digit-classifier ) からトーチのデモをダウンロードしました。コードは CPU モードでうまく動作しますが、CUDA 6.5 を使用して GPU モードで使用したかったのです。CUnn と CUtorch を使用してすべての前提条件をインストールし、見つけたドキュメントとチュートリアルに基づいて、動作させるためにいくつかのコード行を追加しました。
はじめに:
require 'cunn'
require 'cutorch'
そして最後に、モデルの宣言の後:
model:cuda()
しかし、コードを実行すると、次のエラーが発生します。
qlua: /home/ubuntu/Torch7/install/share/lua/5.1/nn/Container.lua:67:
In 1 module of nn.Sequential:
/home/ubuntu/Torch7/install/share/lua/5.1/nn/THNN.lua:109: bad argument #3 to 'v' (cannot convert 'struct THCudaTensor *' to 'struct THFloatTensor *')
stack traceback:
[C]: in function 'v'
/home/ubuntu/Torch7/install/share/lua/5.1/nn/THNN.lua:109: in function 'SpatialConvolutionMM_updateOutput'
...Torch7/install/share/lua/5.1/nn/SpatialConvolutionMM.lua:79: in function <...Torch7/install/share/lua/5.1/nn/SpatialConvolutionMM.lua:69>
[C]: in function 'xpcall'
/home/ubuntu/Torch7/install/share/lua/5.1/nn/Container.lua:63: in function 'rethrowErrors'
/home/ubuntu/Torch7/install/share/lua/5.1/nn/Sequential.lua:44: in function 'forward'
train-on-mnist.lua:227: in function 'opfunc'
/home/ubuntu/Torch7/install/share/lua/5.1/optim/sgd.lua:44: in function 'sgd'
train-on-mnist.lua:280: in function 'train'
train-on-mnist.lua:383: in main chunk
WARNING: If you see a stack trace below, it doesn't point to the place where this error occured. Please use only the one above.
stack traceback:
[C]: at 0xb6ae7bdd
[C]: in function 'error'
/home/ubuntu/Torch7/install/share/lua/5.1/nn/Container.lua:67: in function 'rethrowErrors'
/home/ubuntu/Torch7/install/share/lua/5.1/nn/Sequential.lua:44: in function 'forward'
train-on-mnist.lua:227: in function 'opfunc'
/home/ubuntu/Torch7/install/share/lua/5.1/optim/sgd.lua:44: in function 'sgd'
train-on-mnist.lua:280: in function 'train'
train-on-mnist.lua:383: in main chunk
編集:
解決策は、を使用してデータ、ラベル、基準をCudaに変換し:cuda()
、スクリプトを完全に実行することでした。ありがとう@lejlot