अद्यतन: यह सवाल Google Colab की "नोटबुक सेटिंग्स: हार्डवेयर त्वरक: GPU" से संबंधित है। यह प्रश्न "TPU" विकल्प जोड़े जाने से पहले लिखा गया था।
Google टेस्लाट्रीटरी के बारे में कई उत्साहित घोषणाएँ पढ़ते हुए, मुफ्त टेस्ला K80 जीपीयू प्रदान करने के लिए, मैंने इसे तेजी से चलाने का प्रयास किया। इसके लिए इसे कभी पूरा न करने के लिए - जल्दी से स्मृति से बाहर चलाने के लिए। मैंने क्यों की जांच शुरू की।
लब्बोलुआब यह है कि "मुक्त टेस्ला K80" सभी के लिए "मुक्त" नहीं है - कुछ के लिए केवल इसका एक छोटा टुकड़ा "मुक्त" है।
मैं वेस्ट कोस्ट कनाडा से Google Colab से जुड़ता हूं और मुझे 24GB GPU रैम होने के लिए केवल 0.5GB ही मिलता है। अन्य यूजर्स को 11GB की GPU रैम की सुविधा मिलती है।
अधिकांश एमएल / डीएल कार्य के लिए स्पष्ट रूप से 0.5 जीबी जीपीयू रैम अपर्याप्त है।
यदि आप सुनिश्चित नहीं हैं कि आपको क्या मिलेगा, तो यहां थोड़ा डीबग फ़ंक्शन है जिसे मैंने एक साथ स्क्रैप किया है (केवल नोटबुक की GPU सेटिंग के साथ काम करता है):
# 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()
किसी भी अन्य कोड को चलाने से पहले एक ज्यूपिटर नोटबुक में इसे निष्पादित करना मुझे देता है:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 566MB | Used: 10873MB | Util 95% | Total 11439MB
भाग्यशाली उपयोगकर्ता जो पूर्ण कार्ड तक पहुंच प्राप्त करेंगे, वे देखेंगे:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 11439MB | Used: 0MB | Util 0% | Total 11439MB
क्या आपको GPU RAM उपलब्धता की मेरी गणना में कोई दोष दिखाई देता है, जो GPUtil से उधार लिया गया है?
क्या आप इस बात की पुष्टि कर सकते हैं कि यदि आप इस कोड को Google Colab नोटबुक पर चलाते हैं तो आपको समान परिणाम मिलते हैं?
यदि मेरी गणना सही है, तो क्या निशुल्क बॉक्स पर उस GPU रैम के अधिक प्राप्त करने का कोई तरीका है?
अद्यतन: मुझे यकीन नहीं है कि हम में से कुछ को दूसरे उपयोगकर्ताओं को क्यों / 1/20 मिलता है। उदाहरण के लिए, जिस व्यक्ति ने मुझे डिबग करने में मदद की, वह भारत का है और उसे पूरी बात मिलती है!
नोट : कृपया संभावित अटक / भगोड़ा / समानांतर नोटबुक को मारने के बारे में कोई और सुझाव न भेजें जो GPU के कुछ हिस्सों का उपभोग कर सकते हैं। कोई फर्क नहीं पड़ता कि आप इसे कैसे स्लाइस करते हैं, यदि आप एक ही नाव में हैं जैसे कि मैं और डिबग कोड चलाने वाले थे तो आप देखेंगे कि आपको अभी भी कुल 5% GPU RAM (इस अपडेट के रूप में अभी भी) मिलता है।