2015-12-02 18 views
8

は私がtheanoするのは比較的新しいだと私は私の GPU上mnist例を実行したいが、私は次のような出力が得られます。Theano CUDA例外

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 

それはmnistの任意の出力せずにデバッグメッセージを出力し続けます。

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 

そして、私の.theanorcファイル:

[global] 
floatX = float32 
device = gpu0 

[nvcc] 
fastmath = True 

どのように私はこの問題を解決することができます 私はNVCCの作業バージョンを持っていますか?

+0

私はこのサンプルプログラムではありませんが、この問題も抱えています。 Anaconda python 3.4、GeForce GTX970、Windows 10、theano 0.8rc1。解決策を探しています... – cb4

答えて

1

私にも同様の問題があります。 Googleを検索してコードを入手してください。 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) 

nvccにはエラー出力があるようです。

しかし、私の機会に、その出力は

DEBUGのようになります。この後NVCC STDOUTのmod.cu

時々、プログラムの作業罰金を:NVCC STDOUTのmod.cu

DEBUG時にはうまくいきません。それは非常に奇妙です。 申し訳ありませんが、私はコメントをすることはできませんので、私は答えを投稿します。

+0

統合されたグラフィックスを無効にすると、すべてうまく行きます。 2つのグラフィックがある場合は、これを試すことができます。 –