2016-03-30 1 views
1

J'ai installé CUDA 7.5 sur ma machine et j'ai installé la torche en suivant les instructions here. Avant d'installer Torch, j'ai mis à jour CMake vers la version 3.2.x.x. Ensuite, j'ai installé cutorch et cunn en utilisant les commandes suivantes:Impossible d'importer ('require') dans la torche

luarocks install cutorch 
luarocks install cunn 

Lors de l'installation cutorch j'ai vu des messages say8ing que CUDA 7.5 a été trouvé sur ma machine. Cependant, je ne peux pas importer cutorch en utilisant require 'cotorch et obtenir l'erreur suivante lorsque je tente de l'exécuter en utilisant l'interpréteur torche (e) dans le Terminal:

THCudaCheck FAIL file=/tmp/luarocks_cutorch-scm-1-8316/cutorch/lib/THC/THCGeneral.c line=17 error=30 : unknown error 
/home/amir/torch/install/share/lua/5.1/trepl/init.lua:384: cuda runtime error (30) : unknown error at /tmp/luarocks_cutorch-scm-1-8316/cutorch/lib/THC/THCGeneral.c:17 
stack traceback: 
    [C]: in function 'error' 
    /home/amir/torch/install/share/lua/5.1/trepl/init.lua:384: in function 'require' 
    [string "_RESULT={require "cutorch"}"]:1: in main chunk 
    [C]: in function 'xpcall' 
    /home/amir/torch/install/share/lua/5.1/trepl/init.lua:651: in function 'repl' 
    ...amir/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:199: in main chunk 
    [C]: at 0x00406670 

Puis j'ai suivi les instructions here pour pouvoir utiliser Eclipse écrire le code Lua/Torch. Là, je reçois l'erreur suivante lorsque vous essayez d'exécuter require 'cutorch':

qlua: /home/amir/torch/install/share/lua/5.1/cutorch/init.lua:2: cannot load '/home/amir/torch/install/lib/lua/5.1/libcutorch.so' 
stack traceback: 
    [C]: at 0x7f05cf9709e0 
    [C]: in function 'require' 
    /home/amir/torch/install/share/lua/5.1/cutorch/init.lua:2: in main chunk 
    [C]: in function 'require' 
    /home/amir/workspace/test/src/main.lua:2: in function 'main' 
    /home/amir/workspace/test/src/main.lua:6: in main chunk 

Ce fichier est cependant le libcutorch.so est dans le répertoire mentionné. This n'a pas non plus m'aider à résoudre le problème. Est-ce que quelqu'un sait que je devrais résoudre le problème?

Quand je rentre luarocks list je reçois les points suivants:

Installed rocks: 
---------------- 

argcheck 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

cudnn 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

cunn 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

cunnx 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

cutorch 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

cwrap 
    scm-1 (installed) - /home/amir/.luarocks/lib/luarocks/rocks 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

dok 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

env 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

fftw3 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

gnuplot 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

graph 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

graphicsmagick 
    1.scm-0 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

image 
    1.1.alpha-0 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

lbase64 
    20120820-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

lua-cjson 
    2.1devel-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

luaffi 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

luafilesystem 
    1.6.3-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

luasocket 
    3.0rc1-2 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

nn 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

nngraph 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

nnx 
    0.1-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

optim 
    1.0.5-0 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

paths 
    scm-1 (installed) - /home/amir/.luarocks/lib/luarocks/rocks 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

penlight 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

qtlua 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

qttorch 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

signal 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

sundown 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

sys 
    1.1-0 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

threads 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

torch 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

trepl 
    scm-1 (installed) - /home/amir/torch/install/lib/luarocks/rocks 

xlua 
    1.0-0 (installed) - /home/amir/torch/install/lib/luarocks/rocks 
+0

do 'ldd/home/amir/torche/install/lib/lua/5.1/libcutorch.so' dans le terminal et voir si elle est correctement lié à tous si ses dépendances. – siavashk

+0

@siavashk Il semble qu'il soit correctement lié à toutes les dépendances. Lorsque j'exécute la commande, j'obtiens des choses comme 'libluaT.so => ​​/home/amir/torch/install/lib/libluaT.so (0x00007fd568c94000)' – Amir

Répondre

0

Ok, voici comment vous pouvez résoudre le problème (grâce à alban Desmaison sur le groupe Torch7 google):

  • Assurez-vous que vous suivez toutes les étapes que j'ai mentionnées dans la question afin de s'assurer que CUDA est correctement installé.
  • Si vous avez Théano installé, exécutez sudo python
  • Puis faire import theano
  • Ensuite, allez à des échantillons CUDA dossier et make un des échantillons (peu importe laquelle)
  • Puis faire ./[name_of_the_sample]
  • Puis la flamme sera facilement capable d'utiliser la backend CUDA

Si vous n'avez pas Théano installé, essayez d'exécuter la Échantillons CUDA en utilisant sudo. L'étape importante doit pouvoir exécuter l'un des échantillons CUDA.

Maintenant vous êtes prêt!

+0

cela implique-t-il qu'avant d'exécuter un échantillon CUDA, CUDA n'est pas réellement entièrement construit? – matanster

+1

Non, je pense qu'il manque des liens vers les bibliothèques CUDA. Bien qu'il existe un moyen de contourner ce problème, mais je ne me souviens pas comment – Amir

0

Essayez sudo bash /torch/update.sh