2013-08-10 37 views
7

Tôi đang gặp một chút rắc rối khi thiết lập Theano để làm việc với cạc đồ họa của mình - tôi hy vọng các bạn có thể cho tôi một tay.Bắt Theano để sử dụng GPU

Tôi đã sử dụng CUDA trước đó và được cài đặt đúng cách sẽ cần thiết để chạy Nvidia Nsight. Tuy nhiên, bây giờ tôi muốn sử dụng nó với PyDev và có một số vấn đề sau phần 'Sử dụng GPU' của hướng dẫn tại http://deeplearning.net/software/theano/install.html#gpu-linux

Đầu tiên là khá cơ bản và đó là cách thiết lập các biến môi trường. Nó nói rằng tôi nên 'Xác định biến môi trường $ CUDA_ROOT'. Một số nguồn đã cho biết để tạo một tệp '.pam_environment' mới trong thư mục chính của tôi. Tôi đã thực hiện việc này và viết những điều sau đây:

CUDA_ROOT = /usr/local/cuda-5.5/bin 
LD_LIBRARY_PATH = /usr/local/cuda-5.5/lib64/lib 

Tôi không chắc đây có phải là cách viết hay không - xin lỗi nếu đây là câu hỏi cơ bản. Nếu tôi có thể nhận được xác nhận rằng đây thực sự là nơi chính xác để viết nó, điều đó cũng sẽ hữu ích.

Vấn đề thứ hai nằm trong phần sau của hướng dẫn. Nó nói đến 'thay đổi tùy chọn thiết bị để đặt tên cho thiết bị GPU trong máy tính của bạn'. Rõ ràng điều này có liên quan đến THEANO_FLAGS và .theanorc, nhưng không nơi nào tôi có thể tìm ra chúng là gì: chúng có tập tin không? Nếu vậy tôi tìm chúng ở đâu? Hướng dẫn này dường như giả định một số kiến ​​thức mà tôi không có!

Cảm ơn bạn đã dành thời gian đọc nội dung này: mọi câu trả lời đều được đánh giá rất cao - tôi rất hoàn toàn bị kẹt vào lúc này!

Trả lời

1

THEANO_FLAGS là biến môi trường và .theanorc là tệp cấu hình. Bạn có thể sử dụng cả hai cơ chế để cấu hình Theano. Điều này được mô tả here.

Tôi chưa từng nghe về tệp .pam_environment. Ngoài ra, bạn không nên chỉ ghi đè giá trị của LD_LIBRARY_PATH, nhưng bổ sung/thêm vào trước để nó như thế này:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.5/lib64/lib 

Đối Theano, nếu bạn xác định CUDA_ROOT, bạn không cần phải sửa đổi LD_LIBRARY_PATH, vì vậy tôi sẽ chỉ loại bỏ dòng cuối cùng.

Thông thường, nếu vỏ của bạn là bash, người ta xác định biến env CUDA_ROOT trong file .bashrc như thế này:

export CUDA_ROOT=/usr/local/cuda-5.5/bin 

Sự thay đổi đến .bashrc sẽ chỉ được sử dụng nếu bạn đăng xuất và đăng nhập lại .

+0

Bạn KHÔNG cần đăng xuất để thực hiện thay đổi. Chỉ cần chạy nguồn ~/.bashrc – vwvolodya

11

Trên Linux/OSX:

Chỉnh sửa hoặc tạo ra các tập tin ~/.theanorc. Tệp phải chứa:

[global] 
floatX = float32 
device = gpu0 

[nvcc] 
fastmath = True 

[cuda] 
root=/usr/local/cuda-5.5/ 
# On a mac, this will probably be /Developer/NVIDIA/CUDA-5.5/ 

Bạn cần thêm cuda vào biến $ LD_LIBRARY_PATH. Nếu bạn đang chạy nhật thực, bạn có thể chuyển đến Thuộc tính dự án> Trình thông dịch> Định cấu hình và thông dịch ...> Môi trường, sau đó thêm biến LD_LIBRARY_PATH trỏ đến thư mục lib của bạn (có thể là /Developer/NVIDIA/CUDA-5.5/lib64)

Bây giờ khi bạn nhập, bạn nên in thông báo về việc tìm kiếm gpu. Bạn có thể chạy mã thử nghiệm tại http://deeplearning.net/software/theano/tutorial/using_gpu.html để xem mã đó có đang sử dụng CPU hay không.

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