2017-05-05 6 views
5

अब, मैं cuda का उपयोग करके pytorch चलाने के लिए चाहता हूं, फिर मैं सभी टेंसर के लिए model.cuda(), और torch.cuda.LongTensor() का उपयोग करता हूं। क्या मुझे .cuda. का उपयोग करके टेंसर बनाने की ज़रूरत है यदि मैंने model.cuda() का उपयोग किया है? क्या ऐसा कोई तरीका है जो सभी गणना को GPU में डिफ़ॉल्ट रूप से चल रहा है?डिफ़ॉल्ट रूप से cuda में pytorch गणना को कैसे चलाएं

उत्तर

3

मुझे नहीं लगता कि आप निर्दिष्ट कर सकते हैं कि आप डिफ़ॉल्ट रूप से क्यूडा टेंसर का उपयोग करना चाहते हैं। हालांकि आपको pytorch ऑफिकल उदाहरणों को देखना चाहिए।

कल्पना प्रशिक्षण/परीक्षण स्क्रिप्ट में, वे DataParallel नामक मॉडल पर एक रैपर का उपयोग करते हैं। यह आवरण दो फायदे हैं:

  • यह कई GPUs पर डेटा समानांतरवाद
  • यह CUDA tensors

के लिए CPU tensors की कास्टिंग संभालती है आप L164 में देख सकते हैं संभालती है, आप डॉन ' टी को मैन्युअल रूप से आपके इनपुट/लक्ष्य को कूडा में डालना होगा।

ध्यान दें कि, यदि आपके पास एकाधिक GPU हैं और आप एक का उपयोग करना चाहते हैं, तो CUDA_VISIBLE_DEVICES उपसर्ग के साथ किसी भी पायथन/पायटोरच स्क्रिप्ट लॉन्च करें। उदाहरण के लिए CUDA_VISIBLE_DEVICES=0 python main.py

संबंधित मुद्दे