2016-04-21 29 views
1

我在第一次使用ssh的遠程服務器上使用theano(我沒有該系統上的root)。這工作正常,但是,如果我啓動screen,嘗試導入theano時出現錯誤。使用screen如何在屏幕會話中使用theano?

>>> import theano 
Using gpu device 0: GeForce GTX TITAN X (CNMeM is disabled, CuDNN 4007) 

行爲:不使用screen

行爲

>>> import theano 
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.7.5: cannot open shared object file: No such file or directory 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/2012/enewel3/.local/lib/python2.7/site-packages/theano/__init__.py", line 103, in <module> 
    import theano.sandbox.cuda 
    File "/home/2012/enewel3/.local/lib/python2.7/site-packages/theano/sandbox/cuda/__init__.py", line 697, in <module> 
    use(device=config.device, force=config.force_device, test_driver=False) 
    File "/home/2012/enewel3/.local/lib/python2.7/site-packages/theano/sandbox/cuda/__init__.py", line 496, in use 
    device, cuda_initialization_error_message)) 
EnvironmentError: You forced the use of gpu device gpu, but CUDA initialization failed with error: 
cuda unavailable 

我應該如何使用theano屏幕會話內?

回答

2

問題是由於這樣一個事實,儘管屏幕繼承了大多數環境變量,但它會添加,刪除和更改其中的一些環境變量。就我而言,它正在改變LD_LIBRARY_PATH的值。

進入屏幕後,手動將環境變量設置爲適當的值可解決問題。對我來說,這看起來是這樣的:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/pkgs/gurobi502/linux64/lib 

添加該行我.bashrc可以確保畫面始終得到正確的值。請注意,將其添加到.bash_profile中將不起作用,因爲.bash_profile僅在登錄時運行,而.bashrc則針對每個新shell運行。