TensorFlow के लिए मैं क्यूडा और CuDNN स्थापित करना चाहूंगा। मैं इसे Ubuntu 16.04 पर कैसे करूँ?
TensorFlow के लिए मैं क्यूडा और CuDNN स्थापित करना चाहूंगा। मैं इसे Ubuntu 16.04 पर कैसे करूँ?
जवाबों:
चरण 0: मानक रिपॉजिटरी से कोडा स्थापित करें। (देखें कि मैं Ubuntu 16.04 पर CUDA कैसे स्थापित कर सकता हूं? )
चरण 1: एक nvidia डेवलपर खाते को पंजीकृत करें और यहाँ cudnn डाउनलोड करें (लगभग 80 MB)
चरण 2: चेक करें कि आपका क्यूडा इंस्टॉलेशन कहाँ है। रिपॉजिटरी से स्थापना के लिए यह है /usr/lib/...
और /usr/include
। अन्यथा, यह हो जाएगा /usr/local/cuda/
या /usr/local/cuda-<version>
। आप इसके साथ which nvcc
या जाँच कर सकते हैंldconfig -p | grep cuda
चरण 3: फ़ाइलों की प्रतिलिपि बनाएँ:
रिपोजिटरी स्थापना:
$ cd folder/extracted/contents
$ sudo cp -P include/cudnn.h /usr/include
$ sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
$ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*
अपवाह स्थापना:
$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
-P
प्रतीकात्मक लिंक को बनाए रखता है, अर्थात sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
, और संदेश से बचा जाता है:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
और में पुस्तकालयों lib64/
के लिए /usr/local/cuda-8.0/include
और /usr/local/cuda-8.0/lib64
(CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0 का प्रयोग करके) - शायद यह किसी के लिए उपयोगी है।
5.1 पर से आप @Martin के अनुसार स्थापित नहीं कर सकते। एनवीडिया साइटlibcudnn6_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
से डाउनलोड करें और एक के बाद एक फॉल्विंग तरीके से इंस्टॉल करें।
sudo dpkg -i <library_name>.deb
संपादित करें : आपको पहले रनटाइम इंस्टॉल करना होगा (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb) क्योंकि देव रनटाइम पर निर्भर करता है (धन्यवाद @tinmarino)
/usr/lib/x86_64-linux-gnu/
runtime
डिकॉज स्थापित करना होगा dev
यह उस पर निर्भर करता है
डाउनलोड करें और एनवीआईडीआईए से नवीनतम CUDA स्थापित करें , या नवीनतम संस्करण जो आपके द्वारा काम किए जाने वाले सॉफ़्टवेयर को फिट करता है, यदि कोई हो, तो इस स्थिति में आपका टी-फ्लो का संस्करण।
ध्यान दें, कि ubuntu के मानक पैकेज प्रबंधक के माध्यम से स्थापित करना संभवतया उचित रूप से काम नहीं करेगा।
इसके बजाय, आपको संभवतः pakage को स्थापित करने के लिए टर्मिनल में इन निर्देशों का पालन करना होगा.deb
। उसके बाद आपको अपने मामले में कुछ पंक्तियों को जोड़ना होगा .bashrc
, या जहाँ भी उपयुक्त होगा। उदाहरण के लिए, यदि आप किसी सर्वर को कॉन्फ़िगर कर रहे हैं, तो यह संभवतः एक अलग जगह होने वाला है, हो सकता है कि आपके ऐप के ऑटोलंच से पहले कहीं और हो, जैसा .bashrc
कि उस मामले में शायद निष्पादित नहीं होगा।
एनवीआईडीआईए से CuDNN डाउनलोड करें
मैंने "लाइब्रेरी के लिए लिनक्स" संस्करण का उपयोग किया, .deb
पैकेज के साथ बहुत भाग्य नहीं था ।
आप पा सकते हैं जहां CUDA के माध्यम से स्थित है
which nvcc
। आमतौर पर /usr/local/cuda/
आपके वर्तमान में स्थापित संस्करण का एक प्रतीकात्मक लिंक होगा।
cuda/lib64/
और cuda/include/
) के भीतर उपयुक्त स्थानों में उपयुक्त सामग्री की प्रतिलिपि बनाएँ । मैं आमतौर पर sudo nautilus
और वहाँ से इसे नेत्रहीन करता हूं ।फास्ट फॉरवर्ड 2018 और एनवीआईडीआईए अब डाउनलोड के लिए cuDNN 7.x प्रदान करता है। स्थापना चरण अभी भी @GPrathap द्वारा वर्णित लोगों के साथ समान हैं। लेकिन अगर आप पुराने cuDNN संस्करण को नए के साथ बदलना चाहते हैं, तो आपको इसे स्थापना से पहले हटा देना होगा।
संक्षेप में दुहराना:
चरण 0. सत्यापित करें कि आपने पहले से CUDA टूलकिट स्थापित किया है। यदि आपने नहीं किया है तो CUDA टूलकिट इंस्टॉलेशन के साथ आगे बढ़ें।
चरण 1. NVIDIA डेवलपर पोर्टल https://developer.nvidia.com/cudnn पर जाएं और cuDNN डाउनलोड करें।
चरण 2. यदि आपने पहले cuDNN स्थापित किया है, तो इसे हटा दें
sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb
चरण 3. dpkg का उपयोग करके cuDNN लाइब्रेरी (रनटाइम, देव, डॉक्टर) स्थापित करें
sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig
चरण 4. यदि आप यह जानना चाहते हैं कि पुस्तकालय कहाँ स्थापित किया गया था तो आप पता सूचकांक को अपडेट कर सकते हैं और फिर पुस्तकालय का स्थान खोज सकते हैं।
sudo updatedb
locate libcudnn
यदि आप विशेष रूप से CUDA टूलकिट 9.1 के खिलाफ cuDNN 7.x स्थापित कर रहे हैं, तो यह लेख अधिक विस्तार प्रदान करता है जो कुछ मदद कर सकता है: http://tech.amikelive.com/node-679/quick-tip-installing-duda-deep- तंत्रिका-नेटवर्क-7-cudnn-7-x- पुस्तकालय के लिए CUDA-टूलकिट-9-1-ऑन-ubuntu-16-04 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
इसके अलावा, आप डेबियन आधारित वितरण के लिए डिबेट पैकेज डाउनलोड कर सकते हैं।
डेवलपर प्रोफाइल के लिए NVIDIA वेब पेज से, अगली फाइलें उपलब्ध हैं:
मैंने इसका परीक्षण किया, डेबियन (स्ट्रेच) और टेन्सरफ्लो के साथ मेरी मशीन पर काम कर रहा है!
@Martin Thoma और @ éhor Mé द्वारा अभी भी मान्य उत्तर के लिए एक महत्वपूर्ण विवरण जोड़ना: libcudnn फ़ाइलों को क्यूडा निर्देशिका में कॉपी करने के बाद, आपको अपनी .bashrc फ़ाइल को अपडेट करना होगा:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
फिर आपको उस निर्देशिका को किसी भी कॉन्फ़िगर फ़ाइल में जोड़ना होगा जो इसका उपयोग करती है। कैफ उदाहरण के लिए एक कॉन्फिग फाइल है जिसे आपको मेक अप करने से पहले संपादित करना होगा। इसके लिए, इन कॉन्फिग वेरिएबल्स में रास्तों को जोड़ने के लिए caffe / Makefile.config को एडिट करें (पाथ के बीच व्हॉट्सएप जोड़ें):
INCLUDE_DIRS: /usr/local/caffe/cuda/include/
LIBRARY_DIRS: /usr/local/cuda/lib64/
हर मौजूदा टर्मिनल विंडो के लिए आप चाहते हैं कि ये बदलाव प्रभावी हों, एक बार फाइल को निष्पादित करना न भूलें!
. ~/.bashrc
उत्तर सही है लेकिन cuDNN 5.1 के लिए कुछ नाम बदल दिए गए हैं। इसलिए यदि आप cuDNN फ़ाइल को निकालने के बाद इस संस्करण का उपयोग करते हैं, तो आपको दो फ़ोल्डर मिलेंगे: lib और शामिल। * .h फ़ाइल का नाम फ़ोल्डर में शामिल करने के लिए cudnn.h में बदलें और फिर https://askubuntu.com/a/767270/641589 का अनुसरण करें । यदि आप Caffe के लिए cuDNN का उपयोग करना चाहते हैं तो इस परिवर्तन की आवश्यकता है!
16.04 में यदि आप Nvidia की वेबसाइट से सीधे CUDA स्थापित कर रहे हैं और आप स्रोत से Tensorflow का निर्माण भी कर रहे हैं तो आप उस निर्देशिका को निर्दिष्ट कर सकते हैं जिसे आप Cudnn होने के रूप में इंगित करना चाहते हैं। डिफ़ॉल्ट रूप से यह है:
/usr/include/x86_64-linux-gnu
जब आप Tensorflow का निर्माण कर रहे हैं, तो यह आपसे पूछेगा कि आप किस संस्करण को इंगित करना चाहते हैं कि आप Cudnn के लिए उपयोग कर रहे हैं। फिर उसके बाद यह पूछेगा कि यह कहाँ स्थित है। बस ऊपर दी गई निर्देशिका को इंगित करें और यह ठीक काम करेगा। यह उस बिंदु पर एक पहिया फ़ाइल बनाना चाहिए और आप इसे पाइप से स्थापित कर सकते हैं।