2015-12-17 32 views
6

Hệ điều hành: Ubuntu 14.04LTS
Ngôn ngữ: Python Anaconda 2,7 (keras, theano)
GPU: GTX980Ti CUDA: CUDA 7,5Tôi có thể sử dụng GPU trên máy tính xách tay Ipython như thế nào?

I Wanna chạy keras mã python trên IPython Máy tính xách tay bằng cách sử dụng GPU của tôi (GTX980Ti)
Nhưng tôi không thể tìm thấy nó.

Tôi muốn kiểm tra mã bên dưới. Khi tôi chạy nó trên terminal Ubuntu, Ta ra lệnh như sau (Nó sử dụng GPU tốt. Nó không có bất kỳ vấn đề)

Trước tiên tôi đặt đường dẫn như dưới đây

export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 

thứ hai tôi chạy đoạn code như sau

THEANO_FLAGS='floatX=float32,device=gpu0,nvcc.fastmath=True' python myscript.py 


Và nó chạy tốt.

Nhưng khi tôi chạy mã trên pycharm (python IDE) hoặc Khi tôi chạy nó trên Ipython Notebook, Nó không sử dụng gpu. Chỉ sử dụng CPU

mã myscript.py như sau.

from theano import function, config, shared, sandbox 
import theano.tensor as T 
import numpy 
import time 
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core 
iters = 1000 
rng = numpy.random.RandomState(22) 
x = shared(numpy.asarray(rng.rand(vlen), config.floatX)) 
f = function([], T.exp(x)) 
print(f.maker.fgraph.toposort()) 
t0 = time.time() 
for i in xrange(iters): 
    r = f() 
t1 = time.time() 
print("Looping %d times took %f seconds" % (iters, t1 - t0)) 
print("Result is %s" % (r,)) 
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): 
    print('Used the cpu') 
else: 
    print('Used the gpu') 

Để giải quyết nó, tôi buộc các gpu sử dụng mã như dưới đây (Insert hai dòng thêm về myscript.py)

import theano.sandbox.cuda 
theano.sandbox.cuda.use("gpu0") 

Sau đó Nó tạo ra các lỗi như dưới đây

ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again. 

cách thực hiện? Tôi đã dành hai ngày ..
Và tôi chắc chắn đã làm cách sử dụng tệp '.theanorc' ở thư mục chính.

+1

Bạn đã kiểm tra kỹ xem 'nvcc' có nằm trong'/usr/local/cuda/bin' không? Một vị trí khác có thể đã được chọn trong quá trình cài đặt. Khi bạn in 'PATH' từ bên trong Python, nó có chứa đường dẫn tới' nvcc' không? Nó có thể chọn một trường hợp khác của biến môi trường 'PATH' so với biến bạn đã thêm vị trí' nvcc' vào. – njuffa

+0

@talomies Cảm ơn bạn đã trả lời! – user3704652

+0

@talomies Nhưng tôi kiểm tra lại rằng có nvcc trong/usr/local/cuda/bin .... Và /usr/local/cuda-7.5/bin cũng có nvcc .. Có vấn đề gì với nó không ?! – user3704652

Trả lời

2

Tôi đang sử dụng theano trên máy tính xách tay ipython để sử dụng GPU của hệ thống. Cấu hình này dường như làm việc tốt trên hệ thống của tôi (Macbook Pro với GTX 750m)

My ~/file .theanorc:.

[global] 
cnmem = True 
floatX = float32 
device = gpu0 

biến môi trường khác nhau (tôi sử dụng một môi trường ảo (macvnev):

echo $LD_LIBRARY_PATH 
/opt/local/lib: 

echo $PATH 
/Developer/NVIDIA/CUDA-7.5/bin:/opt/local/bin:/opt/local/sbin:/Developer/NVIDIA/CUDA-7.0/bin:/Users/Ramana/projects/macvnev/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

echo $DYLD_LIBRARY_PATH 
/Developer/NVIDIA/CUDA-7.5/lib:/Developer/NVIDIA/CUDA-7.0/lib: 

Làm thế nào tôi chạy ipython máy tính xách tay (Đối với tôi, thiết bị là gpu0):

$THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 ipython notebook 

outpu t của $nvcc -V:

nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2015 NVIDIA Corporation 
Built on Thu_Sep_24_00:26:39_CDT_2015 
Cuda compilation tools, release 7.5, V7.5.19 

Từ bài đăng của bạn, có thể bạn đã đặt biến $ PATH sai.

Các vấn đề liên quan