jcjohnson / neural-style

Torch implementation of neural style algorithm
MIT License
18.31k stars 2.7k forks source link

cuDNN command error #247

Open lgs777 opened 8 years ago

lgs777 commented 8 years ago

when I type " th neural_style.lua -gpu 0 -backend cudnn" How can I solve this? plz help me!

root@goonseob-To-be-filled-by-O-E-M:/home/goonseob/NeuralArt/neural-style# th neural_style.lua -gpu 0 -backend cudnn nil /usr/local/bin/luajit: /usr/local/share/lua/5.1/trepl/init.lua:384: /usr/local/share/lua/5.1/trepl/init.lua:384: /usr/local/share/lua/5.1/cudnn/ffi.lua:1599: 'libcudnn (R5) not found in library path. Please install CuDNN from https://developer.nvidia.com/cuDNN Then make sure files named as libcudnn.so.5 or libcudnn.5.dylib are placed in your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)

stack traceback: [C]: in function 'error' /usr/local/share/lua/5.1/trepl/init.lua:384: in function 'require' neural_style.lua:64: in function 'main' neural_style.lua:500: in main chunk [C]: in function 'dofile' /usr/local/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk [C]: at 0x00406260 root@goonseob-To-be-filled-by-O-E-M:/home/goonseob/NeuralArt/neural-style#

electronsarapis commented 8 years ago

I've got the same problem and doing sudo cp cuda/lib64/libcudnn* /usr/local/cuda-7.0/lib64/ sudo cp cuda/include/cudnn.h /usr/local/cuda-7.0/include/ doesn't seem to work

Runescaped commented 8 years ago

I had the same issue, but solved it using:

export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH

After finding it in this thread

Note: If you've got cuda-7.5 installed, replace "cuda-7.0" w/ that

electronsarapis commented 8 years ago

Have done this with no luck. Same error as before.

Runescaped commented 8 years ago

Weird...and you didn't have any issues installing cudnn w/ this command?

luarocks install cudnn

aedelsten commented 8 years ago

I was able to install cudnn (that is luarocks install cudnn succeeds) but I get the same error. On my server, cuDNN 4 is installed with lib's located in /usr/lib/x86_64-linux-gnu which is in my load lib path.

~/git/neural-style$ set | grep LD_LIBRARY
LD_LIBRARY_PATH=/home/xyz/git/torch/install/lib:/usr/lib/x86_64-linux-gnu:
/usr/local/lib/:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:
~/git/neural-style$   
~/git/neural-style$ ls /usr/lib/x86_64-linux-gnu/libcudnn*
/usr/lib/x86_64-linux-gnu/libcudnn.so        /usr/lib/x86_64-linux-gnu/libcudnn_static.a
/usr/lib/x86_64-linux-gnu/libcudnn.so.4      /usr/lib/x86_64-linux-gnu/libcudnn_static_v4.a
/usr/lib/x86_64-linux-gnu/libcudnn.so.4.0.7
~/git/neural-style$   

In the neural-style install instructions (optional step 6) it states to download/use "Version 4" of cuDNN. Has that now changed to version 5?

For now, I'll remove the "-backend" option and just go with the default backend for "-gpu 0" (which I think is "nn").

aedelsten commented 8 years ago

Hmm... yes, I think Torch might have been updated and now one of the libs requires cuDNN 5.

/git/torch/install/share/lua/5.1/cudnn/ffi.lua now needs 5.0 bindings.

Top of the file has the CUDDN_MAJOR as "5" now... and they look explicitly for the 5 libs:

local libnames = {'libcudnn.so.5', 'libcudnn.5.dylib'}

Update: yes, I just check the cudnn.torch site and it is now using R5. You can sync older branches if still using cuDNN 4 etc (see very bottom of page here - https://github.com/soumith/cudnn.torch)

tastyminerals commented 8 years ago

Having the same issue. I downloaded a cudnn package with libcudnn.so.5 from nvidia web site and put it in a local dir /local/pavels/cuda5/lib/. I added this dir to $LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/lib/:/local/pavels/cuda5/lib/

source ~/.bashrc, yet, still getting libcudnn (R5) not found in library path error.

eliksr commented 7 years ago

@tastyminerals did you found the solution?

tastyminerals commented 7 years ago

@eliksr No, I did the training without cuda optimization.