2015-12-02 10 views
8

Ich bin relativ neu wollen THEANO und ich das mnist Beispiel auf meinem GPU laufen, aber ich bekomme die folgende Ausgabe:Theano CUDA Ausnahme

Using gpu device 0: GeForce GTX 970M (CNMeM is disabled) 
Loading data... 
Building model and compiling functions... 
WARNING (theano.gof.compilelock): 
    Overriding existing lock by dead process '9700' (I am process '10632') 

DEBUG: nvcc STDOUT mod.cu 
Creating library 
    C:/Users/user/AppData/Local/Theano 
    /compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_71_Stepping_1_GenuineIntel-3.4.3-64 
    /tmp55nlvvvo/m25b839e7715203be227800f03e7c8fe8.lib 
and object 
    C:/Users/user/AppData/Local/Theano 
    /compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_71_Stepping_1_GenuineIntel-3.4.3-64 
    /tmp55nlvvvo/m25b839e7715203be227800f03e7c8fe8.exp 

Es hält ohne Ausgabe von mnist DEBUG Meldungen ausgibt. Ich habe eine funktionierende Version von nvcc:

C:\Users\user>nvcc --version 
nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2015 NVIDIA Corporation 
Built on Tue_Aug_11_14:49:10_CDT_2015 
Cuda compilation tools, release 7.5, V7.5.17 

Und meine .theanorc Datei:

[global] 
floatX = float32 
device = gpu0 

[nvcc] 
fastmath = True 

Wie kann ich dieses Problem lösen?

+0

Ich habe auch dieses Problem, aber nicht mit diesem Beispielprogramm. Anaconda Python 3.4, GeForce GTX970, Windows 10, Theano 0.8rc1. Auf der Suche nach einer Lösung ... – cb4

Antwort

1

Ich habe ein ähnliches Problem. Suche Google und erhalte den Code. https://github.com/Theano/Theano/blob/master/theano/sandbox/cuda/nvcc_compiler.py

 p = subprocess.Popen(
       cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
     nvcc_stdout_raw, nvcc_stderr_raw = p.communicate()[:2] 
     console_encoding = getpreferredencoding() 
     nvcc_stdout = decode_with(nvcc_stdout_raw, console_encoding) 
     nvcc_stderr = decode_with(nvcc_stderr_raw, console_encoding) 

    if nvcc_stdout: 
     # this doesn't happen to my knowledge 
     print("DEBUG: nvcc STDOUT", nvcc_stdout, file=sys.stderr) 

Es scheint Fehlerausgang zu NVCC haben.

Aber in meinem Anlass sieht seine Ausgabe wie

DEBUG: nvcc STDOUT mod.cu

DEBUG: nvcc STDOUT mod.cu

das Programm funktionieren nach diesem Manchmal funktioniert manchmal nicht. Es ist sehr seltsam. Tut mir leid, ich kann keinen Kommentar abgeben, also poste ich einfach die Antwort.

+0

Ich finde nur, dass wenn ich die integrierte Grafik deaktivieren, alles gut geht. Wenn Sie zwei Grafiken haben, können Sie dies versuchen. –