मैं जिस मशीन का उपयोग कर रहा हूं वह टाइटन एक्सपी के साथ है और उबंटू 18.10 चला रही है। मैं स्वामी नहीं हूं इसलिए मुझे यकीन नहीं है कि इसे पहले कैसे कॉन्फ़िगर किया गया था। कूडा संस्करण 9.* है, सबसे अधिक संभावना है कि 9.0. /usr/local/cuda जैसा कोई फोल्डर नहीं है। हालांकि यह अजीब लगता है (क्योंकि कोई भी कूडा 18.10 के साथ संगत नहीं है), पहले इसने Tensorflow और Pytorch दोनों के लिए बहुत अच्छा काम किया। अब, अजगर 2.7, cudatoolkit 9.2 और cudnn 7.2.1 में tensorflow-gpu v1.12.0 चलाते समय (यह बिना किसी बदलाव के पहले अच्छी तरह से काम करता था), यह रिपोर्ट करता है:

ImportError: libcublas.so.9.0: cannot open shared object file: No such file of directory

लेकिन, जब मैं अपने conda env को python 3.6 में pytorch 0.4.1, cudatoolkit 9.0 और cudnn 7.6 के साथ बदलता हूं (वे pycharm में दिखाए जाते हैं)। वहाँ है:

torch.cuda.is_available() # True

इससे पता चलता है कि GPU Pytorch कोड में चल रहा है। इसके अलावा मैंने nvidia-smi द्वारा GPU RAM की जाँच की है, जब Pytorch चल रहा है, RAM पर कब्जा है।

हालांकि /usr/local/cuda/ जैसा कोई कूडा फ़ोल्डर नहीं है, जब मैं दौड़ता हूं:

nvcc - V

वहाँ है:

Cuda compilation tools, release 9.1, V9.1.85

क्या कोई मुझे इस बारे में संकेत दे सकता है कि ये अजीब चीजें कैसे होती हैं? अपना टेंसरफ़्लो-जीपीयू काम करने के लिए मुझे क्या करना चाहिए? मैं पूरी तरह भ्रमित हो जाता हूं orz.

0
Hongcheng Wang 9 नवम्बर 2019, 04:08

1 उत्तर

सबसे बढ़िया उत्तर

जब आप कोंडा के साथ pytorch और tensorflow-gpu जैसी चीज़ें स्थापित करते हैं, तो एनाकोंडा वातावरण CUDA टूलकिट का अपना संस्करण स्थापित करता है। ऐसा लगता है कि आपका पायथन 3.6 वातावरण इस प्रकार स्थापित किया गया था। क्या आपका पायथन का 2.7 संस्करण एक सिस्टम स्थापित है या किसी अन्य पायथन वातावरण का हिस्सा है? यह संभव है कि आपका Tensorflow एक CUDA टूलकिट के विरुद्ध बनाया गया था जो अब किसी भी कारण से स्थापित नहीं है, या किसी भी मामले में जब आप Tensorflow का उपयोग करने का प्रयास कर रहे थे, जबकि आपके LD_LIBRARY_PATH (शायद) एक असामान्य स्थापना स्थान के कारण)

आप यह देखने के लिए which nvcc टाइप कर सकते हैं कि आपके PATH का कौन सा हिस्सा वर्तमान में उस निष्पादन योग्य की ओर इशारा कर रहा है। यह आपको बताएगा कि आपका CUDA टूलकिट कहाँ स्थापित है। मैं अनुमान लगा रहा हूं कि आपका PATH अभी भी एक conda वातावरण की ओर इशारा कर रहा था जब आपने पिछली बार nvcc चलाया था, या CUDA टूलकिट के किसी संस्करण में किसी भी स्थिति में असामान्य इंस्टॉल स्थान पर।

सबसे पहले, मैं सुझाव दूंगा कि Tensorflow के साथ आपके सिस्टम अजगर का उपयोग करने के किसी भी प्रयास को छोड़ दें। मेरा सुझाव है कि या तो एक नया कोंडा वातावरण संशोधित किया जाए या बनाया जाए और कोंडा के साथ टेंसरफ़्लो-जीपीयू स्थापित किया जाए, जो उस वातावरण के लिए CUDA टूलकिट भी स्थापित करेगा। ध्यान दें कि आपका CUDA इंस्टाल /usr/local/cuda में नहीं होगा यदि आप इस रास्ते से नीचे जाते हैं, तो यह आपके कोंडा वातावरण के अंदर स्थित होगा।

1
Michael 9 नवम्बर 2019, 06:15