2016-08-31 2 views
0

Я являюсь пользователем без полномочий root на компьютере кластера, на котором работает Scientific Linux release 6.6 (Carbon).Theano crashing using cuDNN in linux

Я испытываю некоторые сбои anano при запуске кода на графическом процессоре с CUDA 7.5 и cuDNN 5. Я использую Python 2.7, Theano 0.9, Keras 1.0.7 и Lasange 0.1.

Следующий сбой происходит ТОЛЬКО при запуске программы на узле GPU с включенным cuDNN. Код завершается без проблем на CPU и GPU с отключенным cuDNN.

Traceback (most recent call last): 
    File "runner.py", line 306, in <module> 
    main() 
    File "runner.py", line 241, in main 
    queries_exp = __import__(args.exp_model).queries_exp 
    File "/mnt/nfs2/inf/tjb32/workspace/CNN_EL/nlp-entity-convnet/exp_multi_conv_cosim.py", line 923, in <module> 
    queries_exp = EntityVectorLinkExp() 
    File "/mnt/nfs2/inf/tjb32/workspace/CNN_EL/nlp-entity-convnet/exp_multi_conv_cosim.py", line 51, in __init__ 
    self._setup() 
    File "/mnt/nfs2/inf/tjb32/workspace/CNN_EL/nlp-entity-convnet/exp_multi_conv_cosim.py", line 543, in _setup 
    on_unused_input='ignore', 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/compile/function.py", line 326, in function 
    output_keys=output_keys) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 484, in pfunc 
    output_keys=output_keys) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/compile/function_module.py", line 1788, in orig_function 
    output_keys=output_keys).create(
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/compile/function_module.py", line 1467, in __init__ 
    optimizer_profile = optimizer(fgraph) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 102, in __call__ 
    return self.optimize(fgraph) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 90, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 235, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 90, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 235, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 90, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 2262, in apply 
    lopt_change = self.process_node(fgraph, node, lopt) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 1825, in process_node 
    lopt, node) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 1719, in warn_inplace 
    return NavigatorOptimizer.warn(exc, nav, repl_pairs, local_opt, node) 
    File "/home/t/tj/tjb32/.local/lib/python2.7/site-packages/theano/gof/opt.py", line 1705, in warn 
    raise exc 
AssertionError 

Мой .theanorc выглядит следующим образом:

[global] 
floatX = float32 
device = gpu 

[lib] 
cnmem = 1 

[nvcc] 
fastmath = True 

И мой профиль имеет следующее:

export LD_LIBRARY_PATH=/home/t/tj/tjb32/cuda/lib64:$LD_LIBRARY_PATH 
export CPATH=/home/t/tj/tjb32/cuda/include:$CPATH 
export LIBRARY_PATH=/home/t/tj/tjb32/cuda/lib64:$LD_LIBRARY_PATH 
export PATH=/home/t/tj/tjb32/cuda/bin:$PATH 

Когда я запрашиваю Theano, следующее возвращается, который подсказывает мне, что theano взаимодействует с CUDA и cuDNN.

Using gpu device 0: Tesla K20m (CNMeM is enabled with initial size: 95.0% of memory, cuDNN 5005) 

Я довольно уверен, что я правильно установлен и CUDA cuDNN, если кто-то может предложить какие-либо дополнительные шаги конфигурации, которые я, возможно, пропустили, что вызывает cuDNN к краху программы, которая будет весьма признателен.

+0

вы смогли для решения вашей проблемы/проблемы? –

ответ

0

Не уверен, если это может быть проблемы, но: экспорт library_path =/дом/т/т/tjb32/CUDA/lib64: $ LD_ library_path должно быть? export LIBRARY_PATH =/home/t/tj/tjb32/cuda/lib64: $ LIBRARY_PATH

+0

Привет, это не устранило крах, но спасибо за указание! – Lee

0

Я также использую CUDA-7.5 и CuDNN 5 для запуска DNN в Keras. Я создал отдельный каталог (cuDNN/copy) в своем доме и разместил в этом каталоге все файлы CuDNN (полученные с сайта nvidia) (.so и .h files). Затем я внес соответствующие изменения в переменные PATH и LD_LIBRARY в bashrc. Я также внес изменения в файл .theoror. Поэтому DNN работает для меня. Это как мой Bashrc выглядит -

########################## 
# CUSTOMIZATIONS GO HERE # 
########################## 
export PATH="https://stackoverflow.com/users/start2015/r0605639/miniconda2/envs/kerPy3.4/bin:$PATH" 
export PATH="/usr/local/cuda/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$PATH" 

#http://www.chioka.in/why-is-keras-running-so-slow/ 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64:/users/start2015/r0605639/cuDNN/copy: 
export LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64:/users/start2015/r0605639/cuDNN/copy: 
export CPATH=$CPATH:/users/start2015/r0605639/cuDNN/copy: 
export PATH=$PATH:/usr/local/cuda-7.5/bin 

Это как мой .theanorc выглядит следующим образом: [глобальной] устройства =
GPU floatX = float32 оптимизатора = fast_run

[blas] 
ldflags = -L/users/start2015/r0605639/kerasLibs/lib -lopenblas 

[lib] 
cnmem = 0.8 

[cuda] 
root = /usr/local/cuda-7.5 

[nvcc] 
fastmath = True 
optimizer_including=cudnn 
flags=-D_FORCE_INLINES -I/usr/local/cuda-7.5/include -I/usr/local/cuda-7.5/bin 

[dnn] 
enabled = True