2016-03-27 20 views
10

Tôi đã cài đặt Theano khuôn khổ và kích hoạt CUDA trên máy tính của tôi, tuy nhiên khi tôi "nhập khẩu theano" trong giao diện điều khiển python của tôi, tôi đã nhận được thông báo sau:làm thế nào để thiết lập cuDnn với theano trên Windows 7 64 bit

>>> import theano 
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available) 

Bây giờ "CuDNN không khả dụng", tôi đã tải xuống cuDnn từ trang web của Nvidia. Tôi cũng đã cập nhật 'path' trong môi trường và thêm 'optimizer_including = cudnn' vào tập tin cấu hình '.theanorc.txt'.

Sau đó, tôi đã cố gắng một lần nữa, nhưng thất bại, với:

>>> import theano 
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda2\lib\site-packages\theano\__init__.py", line 111, in <module> 
    theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1() 
    File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 31, in test_nvidia_driver1 
    profile=False) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\function.py", line 320, in function 
    output_keys=output_keys) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\pfunc.py", line 479, in pfunc 
    output_keys=output_keys) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1776, in orig_function 
    output_keys=output_keys).create(
    File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1456, in __init__ 
    optimizer_profile = optimizer(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 101, in __call__ 
    return self.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\dnn.py", line 2508, in apply 
    dnn_available.msg) 
AssertionError: cuDNN optimization was enabled, but Theano was not able to use it. We got this error: 
Theano can not compile with cuDNN. We got this error: 

>>> 

bất cứ ai có thể giúp tôi? Cảm ơn.

+0

cố gắng cập nhật phiên bản theano của bạn? – malioboro

+0

Có thể trùng lặp của [Làm thế nào để tôi cài đặt theano trong Anaconda ver. 2.1 Windows 64 bit cho Python 3.4?] (Http://stackoverflow.com/questions/27629347/how-do-i-install-theano-in-anaconda-ver-2-1-windows-64-bit-for- python-3-4) – devinbost

Trả lời

35

Có một cách để thực hiện việc này bằng cách chỉ đặt biến môi trường Đường dẫn nhưng tôi không bao giờ có thể làm việc đó. Điều duy nhất làm việc cho tôi là sao chép thủ công các tệp CuDNN vào các thư mục thích hợp trong bản cài đặt CUDA của bạn.

Ví dụ, nếu cài đặt CUDA của bạn là trong C: \ CUDA \ v7.0 và bạn trích CuDNN để C: \ CuDNN bạn sẽ sao chép như sau:

  • Nội dung của C: \ CuDNN \ lib \ x64 \ sẽ được sao chép sang C: \ CUDA \ v7.0 \ lib \ x64 \
  • Nội dung của C: \ CuDNN \ include \ sẽ được sao chép vào C: \ CUDA \ v7.0 \ include \
  • Nội dung của C: \ CuDNN \ bin \ sẽ được sao chép sang C: \ CUDA \ v7.0 \ bin \

Sau đó nó sẽ hoạt động.

+0

Ồ, nó hoạt động! Trong trường hợp của tôi, tôi cũng đã sao chép \ bin. Cảm ơn nhiều!! – greentec

+9

Sử dụng CUDA 7.5 và CUDNN 5. Vị trí của CUDA là 'C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v7.5'. Ngoài việc sao chép thư mục 'lib' và' include', tôi cũng phải sao chép một dll từ thư mục 'bin'. Sau đó nó hoạt động (sau khi tôi chuyển sang nhánh chủ Theano vì bản phát hành 0.8.1 lớn hơn CUDNN 5). –

+0

Lưu ý rằng cuDNN cần GPU là Kepler (Khả năng tính toán 3.0) hoặc cao hơn. ví dụ. một Quadro 5000 sẽ chỉ hỗ trợ CNMeM, và không phải cuDNN. – abcdaa

-4

Ngoài tất cả các nội dung bạn đã cập nhật, tôi đã cập nhật nội dung sau đây của .theanorc.txt trong thư mục chính của tôi và nó hoạt động sau đó.

[lib] 
#cnmem=1.0 
cudnn=1.0 
Các vấn đề liên quan