cập nhật: câu hỏi này liên quan đến "Cài đặt máy tính xách tay: Trình tăng tốc phần cứng: GPU" của Google Colab. Câu hỏi này được viết trước khi tùy chọn "TPU" được thêm vào.
Đọc nhiều thông báo hào hứng về việc Google Colaboratory cung cấp GPU Tesla K80 miễn phí, tôi đã cố gắng chạy fast.ai bài học về nó để nó không bao giờ hoàn thành - nhanh chóng hết bộ nhớ. Tôi bắt đầu điều tra lý do tại sao.
Điểm mấu chốt là “Tesla K80 miễn phí” không phải là “miễn phí” cho tất cả - đối với một số người, chỉ một phần nhỏ của nó là “miễn phí”.
Tôi kết nối với Google Colab từ Bờ Tây Canada và tôi chỉ nhận được 0,5GB dung lượng được cho là RAM GPU 24GB. Những người dùng khác có quyền truy cập vào 11GB RAM GPU.
Rõ ràng là 0,5GB RAM GPU là không đủ cho hầu hết các công việc ML / DL.
Nếu bạn không chắc mình nhận được gì, đây là chức năng gỡ lỗi nhỏ mà tôi đã tổng hợp lại (chỉ hoạt động với cài đặt GPU của máy tính xách tay):
# memory footprint support libraries/code
!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi
!pip install gputil
!pip install psutil
!pip install humanize
import psutil
import humanize
import os
import GPUtil as GPU
GPUs = GPU.getGPUs()
# XXX: only one GPU on Colab and isn’t guaranteed
gpu = GPUs[0]
def printm():
process = psutil.Process(os.getpid())
print("Gen RAM Free: " + humanize.naturalsize( psutil.virtual_memory().available ), " | Proc size: " + humanize.naturalsize( process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
printm()
Thực thi nó trong sổ ghi chép jupyter trước khi chạy bất kỳ mã nào khác cho tôi:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 566MB | Used: 10873MB | Util 95% | Total 11439MB
Những người dùng may mắn có quyền truy cập vào thẻ đầy đủ sẽ thấy:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 11439MB | Used: 0MB | Util 0% | Total 11439MB
Bạn có thấy lỗ hổng nào trong tính toán của tôi về tính khả dụng của RAM GPU, mượn từ GPUtil không?
Bạn có thể xác nhận rằng bạn nhận được kết quả tương tự nếu bạn chạy mã này trên sổ ghi chép Google Colab không?
Nếu tính toán của tôi là đúng, có cách nào để lấy thêm RAM GPU đó trên hộp miễn phí không?
cập nhật: Tôi không chắc tại sao một số người trong chúng ta nhận được 1/5 những gì người dùng khác nhận được. Ví dụ: người đã giúp tôi gỡ lỗi này đến từ Ấn Độ và anh ấy đã nắm được toàn bộ!
lưu ý : vui lòng không gửi thêm bất kỳ đề xuất nào về cách loại bỏ các máy tính xách tay có khả năng bị kẹt / chạy / chạy song song có thể đang ngốn các bộ phận của GPU. Cho dù bạn cắt nó như thế nào, nếu bạn ở cùng thuyền với tôi và đang chạy mã gỡ lỗi, bạn sẽ thấy rằng bạn vẫn nhận được tổng cộng 5% RAM GPU (tính đến bản cập nhật này vẫn còn).