无法在gpu上运行火炬代码

时间:2016-09-30 09:55:35

标签: lua torch

我尝试在火炬教程中运行代码,但是当我想使用:cuda()在gpu上运行它时,我一直收到以下错误

  

/ opt / zbstudio / bin / linux / x64 / lua:/home/andybug/torch/install/share/lua/5.1/nn/THNN.lua:110:错误的参数#3到'v' (无法将'struct THCudaTensor *'转换为'struct THCudaLongTensor *')   堆栈追溯:       [C]:在函数'v'中       /home/andybug/torch/install/share/lua/5.1/nn/THNN.lua:110:在函数'ClassNLLCriterion_updateOutput'中       ... bug / torch / install / share / lua / 5.1 / nn / ClassNLLCriterion.lua:41:在函数'forward'中       ... ug / torch / install / share / lua / 5.1 / nn / StochasticGradient.lua:35:在功能'火车'中       / home / andybug / Documents / NLP / lua torch / torch-prac / main.lua:74:in main chunk       [C]:在0x00404f08

用谷歌搜索这个问题,但没有有效的答案,尝试重新安装nn,cunn,.etc,这些都没有用。

2 个答案:

答案 0 :(得分:0)

在将Coco数据作为Cuda张量加载时,我遇到了同样的问题。由于加载Pascal2012数据很好,我认为我遇到了数据加载器或迭代器的问题(我使用的是torchnet&n的并行数据集迭代器)。在重新安装cutorch时,我发现有些问题。然后重新安装了Cuda(在我的情况下为8)因为它与其他版本(7.5)相撞并最终从头开始安装了火炬。现在一切都像魅力一样。

答案 1 :(得分:-1)

传递给ClassNLLCriterion的目标(前进中的第二个参数)需要是CudaTensor。