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.
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
@talomies Cảm ơn bạn đã trả lời! – user3704652
@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