2017-05-13 4 views
1

문제는 theano를 가져올 수 없다는 것입니다. 나는 같은 문제에 대해 몇 가지 다른 질문이 있지만 그들 중 누구도 나를 위해 일한 적이 없다는 것을 알고 있으며 대개 그들은 이전 버전이나 다른 OS 중 하나입니다. 나는 며칠 동안 이것을 고치려고 노력해 왔으며 내가 찾을 수있는 모든 수정과 트릭을 시도 했으므로 여기서 더 이상 시도 할 다른 것을 고를 수는 없다. 나는이 동적 링크에 문제가 알고 sudo를Theano는 pygpu/cudnn (macOS, CUDA 8)을 가져올 수 없습니다.

ERROR (theano.gpuarray): Could not initialize pygpu, support disabled 
Traceback (most recent call last): 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 164, in <module> 
    use(config.device) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 151, in use 
    init_dev(device) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 68, in init_dev 
    context.cudnn_handle = dnn._make_handle(context) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/dnn.py", line 86, in _make_handle 
    raise RuntimeError("error creating cudnn handle") 
RuntimeError: error creating cudnn handle 

내가

ERROR (theano.gpuarray): Could not initialize pygpu, support disabled 
Traceback (most recent call last): 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 164, in <module> 
    use(config.device) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 151, in use 
    init_dev(device) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/__init__.py", line 66, in init_dev 
    avail = dnn.dnn_available(name) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/dnn.py", line 175, in dnn_available 
    if not dnn_present(): 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/dnn.py", line 158, in dnn_present 
    dnn_present.avail, dnn_present.msg = _dnn_check_version() 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/dnn.py", line 131, in _dnn_check_version 
    v = version() 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gpuarray/dnn.py", line 339, in version 
    profile=False) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/compile/function.py", line 326, in function 
    output_keys=output_keys) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/compile/pfunc.py", line 486, in pfunc 
    output_keys=output_keys) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/compile/function_module.py", line 1795, in orig_function 
    defaults) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/compile/function_module.py", line 1661, in create 
    input_storage=input_storage_lists, storage_map=storage_map) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/link.py", line 699, in make_thunk 
    storage_map=storage_map)[:3] 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/vm.py", line 1047, in make_all 
    impl=impl)) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/op.py", line 935, in make_thunk 
    no_recycling) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/op.py", line 839, in make_c_thunk 
    output_storage=node_output_storage) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cc.py", line 1190, in make_thunk 
    keep_lock=keep_lock) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cc.py", line 1131, in __compile__ 
    keep_lock=keep_lock) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cc.py", line 1586, in cthunk_factory 
    key=key, lnk=self, keep_lock=keep_lock) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cmodule.py", line 1159, in module_from_key 
    module = lnk.compile_cmodule(location) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cc.py", line 1489, in compile_cmodule 
    preargs=preargs) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cmodule.py", line 2325, in compile_str 
    return dlimport(lib_filename) 
    File "/Users/np/miniconda3/lib/python3.6/site-packages/theano/gof/cmodule.py", line 302, in dlimport 
    rval = __import__(module_name, {}, {}, [module_name]) 
ImportError: dlopen(/Users/np/.theano/compiledir_Darwin-16.5.0-x86_64-i386-64bit-i386-3.6.1-64/tmp3r02thlc/m3d1cf20adb1014f04986e6a344a55bde.so, 2): Library not loaded: @rpath/libcudnn.6.dylib 
    Referenced from: /Users/np/.theano/compiledir_Darwin-16.5.0-x86_64-i386-64bit-i386-3.6.1-64/tmp3r02thlc/m3d1cf20adb1014f04986e6a344a55bde.so 
    Reason: image not found 

을 얻을하지만 난 알아낼 수 없습니다 : 내가 sudo는없는 python3 -c "import theano"하려고하면

, 나는 다음과 같은 수 왜 작동하지 않습니다. CUDA를 다시 설치

  • 장애인 SIP
  • 아마 약 10 배 지금
    • cudnn 파일은 모두 /Developer/NVIDIA/CUDA-8.0/lib/usr/local/cuda/lib
  • 에 cudnn :

    나는 다음 시도

  • python, conda, theano, pygpu도 다시 설치했습니다. 라운드 현재 10 배
  • 처음부터
  • 컴파일 libgpuarray는
  • 재부팅 몇 번 확실히 그것이
  • 가 install_name_tool와 libcudnn.6.dylib 연결 시도 캐시 문제가 있다면 그 update_dyld_shared_cache 실행
  • 보고 아니다 만들려면 pygpu .so를의 아무것도하지만, 여기에

이 .zshrc에서 내 경로입니다하지 않았다 :

export CUDA_HOME=/usr/local/cuda 
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/extras/CUPTI/lib 
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH 
export PATH=$CUDA_HOME/bi:$DYLD_LIBRARY_PATH:$PATH 

.theanorc

[global] 
floatX = float32 
device = cuda 
force_device = True 
allow_gc = False 
optimizer_including=cudnn 

[cuda] 
root = /usr/local/cuda 

[dnn] 
enabled = True 
include_path=/usr/local/cuda/include 
library_path=/usr/local/cuda/lib 

버전 번호 :

  • 맥 OS 10.12.4
  • CUDA 8.0 cudnn 6.0
  • 파이썬 3.6.1
  • Theano 0.9.0
  • libgpuarray 0.6 .4
  • pygpu 0.6.4

답변

1

libcudnn * 파일을 /usr/lib으로 이동하여 마침내 문제를 해결할 수있었습니다. 나는 왜 pygpu가 /usr/local/cuda/lib으로 일할 수 없었는지 전혀 모른다. sudo가 없다면 나는 여전히 RuntimeError: error creating cudnn handle 오류가 발생하지만 적어도 sudo에서는 작동합니다.

지금은 Segmentation fault: 11과 싸우고 있지만 다른 문제라고 생각합니다. Theano는 절대적으로 ...