আমি কীভাবে উবুন্টু 16.04 এ CuDNN ইনস্টল করতে পারি?


101

টেনসরফ্লো এর জন্য আমি চুদা এবং সিইউডিএনএন ইনস্টল করতে চাই। আমি কীভাবে উবুন্টু 16.04 এ করব?


4
সতর্কতা: আপনি যদি টেনসরফ্লো চালানোর চেষ্টা করছেন এবং চডন দরকার হয় তবে এখনকার জন্য 6.0 নয় 5.1 ইনস্টল করতে ভুলবেন না।
কথার সাথে 13

@WordsForthewise CUDNN 6.0 এখন সমর্থিত (কমপক্ষে TF 1.4 এর জন্য)।
কম্পিউটার

উত্তর:


134

পদক্ষেপ 0: স্ট্যান্ডার্ড সংগ্রহস্থলগুলি থেকে চুদা ইনস্টল করুন। (দেখুন আমি কীভাবে উবুন্টু 16.04 এ CUDA ইনস্টল করতে পারি? )

পদক্ষেপ 1: একটি এনভিডিয়া বিকাশকারী অ্যাকাউন্ট নিবন্ধন করুন এবং এখানে চুডন ডাউনলোড করুন (প্রায় 80 এমবি)

পদক্ষেপ 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*

14
যোগ করা -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
ম্যাক্স গর্ডন

1
এখান থেকে আপডেট করুন : "সিউডিএনএন ভি 4 ডাউনলোড করুন (ভি 5 বর্তমানে একটি মুক্তির প্রার্থী এবং উত্সগুলি থেকে টেনসরফ্লো ইনস্টল করার সময় কেবল এটি সমর্থনযোগ্য)"।
নোটার

36
টেনসরফ্লো সবকিছু খুঁজে পেতে, আমাকে কপি করতে হয়েছিল এবং include/cudnn.hলাইব্রেরিগুলিতে এবং সিউডিএ 8.0, উবুন্টু 14.04, টেনসরফ্লো 0.12.0rc0 ব্যবহার করে) - এটি কারও পক্ষে সহায়ক this lib64//usr/local/cuda-8.0/include/usr/local/cuda-8.0/lib64
ডেভিড স্টুটজ

@ ম্যাক্সগোর্ডন হাই, আমি কি উবুন্টু 16.04 পাওয়ার 8 এর জন্য রানটাইম লাইব্রেরি বা লিনাক্সের জন্য লাইব্রেরিটি ব্যবহার করি তা বিবেচনা করে?
trytolearn

1
অন্য টিপস - আপনি চুডন ইনস্টল করার আগে আপনি চুদা ইনস্টল করেছেন তা নিশ্চিত করুন। অন্যথায় চুদা ইনস্টলারগুলি আপনার তৈরি করা / ইউএসআর / স্থানীয় / চুদা ডিরেক্টরিগুলি ওভাররাইট করতে পারবে না।
কেভিনস

38

5.1 এর পরে আপনি @ মার্টিনের উল্লেখ অনুসারে ইনস্টল করতে পারবেন না। এনভিডিয়া সাইট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) কারণ রান রানটাইমের উপর নির্ভর করে (ধন্যবাদ @ টিনমারিনো)


1
ধন্যবাদ। আমি একাধিকবার এই সমস্যায় পড়েছি। আসুন কেবল একটি থাম্ব রুল প্রতিষ্ঠা করি। যখন জিনিসগুলি কাজ করে না, .deb প্যাকেজগুলি ব্যবহার করে ইনস্টল করুন।
অনুরাগ বৈদ্য

8
উত্স থেকে টেনস্রফ্লো সংকলন করার সময় এটি জেনে রাখা ভাল যে cUDNN গ্রন্থাগার স্থাপনের পথটি রয়েছে/usr/lib/x86_64-linux-gnu/
ভিশনস্কেপ্ট

1
আপনাকে অবশ্যই প্রথমে runtimeবিরতি ইনস্টল করতে হবে এটির devউপর নির্ভর করে
টিনমারিনো

12
  1. এনভিডিয়া ওয়েবসাইটে নিবন্ধন করুন। আপনার অ্যাকাউন্ট অনুমোদনের আগে তারা দু'একদিন সময় নিতে পারে। আমি নিবন্ধভুক্ত হওয়ার পরে কমপক্ষে ক্ষেত্রে এটি ব্যবহৃত হত।
  2. এনভিডিয়া থেকে সর্বশেষ সিউডিএ ডাউনলোড করুন এবং ইনস্টল করুন বা আপনি যে সফ্টওয়্যারটির সাথে কাজ করছেন তার সাথে সামঞ্জস্য করা সর্বশেষ সংস্করণটি যদি কোনও ক্ষেত্রে থাকে তবে এই ক্ষেত্রে আপনার সংস্করণ টি-ফ্লো।

    দ্রষ্টব্য, ক্লিক করে উবুন্টুর স্ট্যান্ডার্ড প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করা সম্ভবত যথাযথভাবে কাজ করবে না।

    পরিবর্তে, প্যাকেজ ইনস্টল করতে আপনাকে সম্ভবত টার্মিনালে এই নির্দেশাবলী অনুসরণ করতে হবে .deb। এর পরে আপনাকে কয়েকটি লাইন যুক্ত করতে হবে .bashrcবা আপনার ক্ষেত্রে যেখানে উপযুক্ত হবে। উদাহরণস্বরূপ, আপনি যদি কোনও সার্ভার কনফিগার করছেন তবে এটি সম্ভবত অন্য কোনও জায়গা হতে চলেছে, সম্ভবত আপনার অ্যাপ্লিকেশনটির অটোল্যাঞ্চের আগে কোথাও .bashrcসম্ভবত এটি কার্যকর হবে না।

  3. এনভিডিয়া থেকে সিইউডিএনএন ডাউনলোড করুন

    আমি "লিনাক্সের জন্য লাইব্রেরি" সংস্করণ ব্যবহার করেছি, .debপ্যাকেজগুলির সাথে খুব ভাগ্য হয়নি ।

  4. আপনি যেখানে CUDA এর মাধ্যমে অবস্থিত তা খুঁজে পেতে পারেন which nvcc। সাধারণত /usr/local/cuda/আপনার বর্তমানে ইনস্টল করা সংস্করণটির প্রতীকী লিঙ্ক হবে।

  5. CUDNN সংরক্ষণাগারটি খুলুন এবং CUDA ইনস্টলেশন ফোল্ডার ( cuda/lib64/এবং cuda/include/) এর মধ্যে উপযুক্ত স্থানে উপযুক্ত সামগ্রীগুলি অনুলিপি করুন । আমি সাধারণত sudo nautilusএবং সেখান থেকে এটি দৃশ্যত করি।

8

ফাস্ট ফরোয়ার্ড 2018 এবং এনভিআইডিএ এখন ডাউনলোডের জন্য cuDNN 7.x সরবরাহ করে। @GPrathap দ্বারা বর্ণিতগুলির সাথে ইনস্টলেশন পদক্ষেপগুলি এখনও সমান। তবে আপনি যদি পুরনো cUDNN সংস্করণটিকে নতুনের সাথে প্রতিস্থাপন করতে চান তবে আপনাকে ইনস্টলেশনের আগে প্রথমে এটি সরিয়ে ফেলতে হবে।

পুনরুদ্ধার করতে:

পদক্ষেপ 0. যাচাই করুন যে আপনি ইতিমধ্যে CUDA সরঞ্জামকিট ইনস্টল করেছেন। আপনি না থাকলে CUDA টুলকিট ইনস্টলেশন নিয়ে এগিয়ে যান।

পদক্ষেপ 1. এনভিআইডিআইএ বিকাশকারী পোর্টাল 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

পদক্ষেপ ৪. আপনি যদি লাইব্রেরিটি ইনস্টল করা হয়েছে তা সন্ধান করতে চাইলে আপনি অবস্থান সূচকটি আপডেট করতে পারেন এবং তারপরে গ্রন্থাগারের অবস্থানটি সন্ধান করতে পারেন।

sudo updatedb
locate libcudnn

আপনি যদি CUDA টুলকিট 9.1 এর বিপরীতে নির্দিষ্টভাবে cuDNN 7.x ইনস্টল করছেন তবে এই নিবন্ধটি আরও বিস্তৃততা সরবরাহ করবে যা কিছুটা সহায়ক হতে পারে: http://tech.amikelive.com/node-679/quick-tip-installing-cuda- दीप- নিউরাল নেটওয়ার্ক-7-cudnn-7-এক্স-গ্রন্থাগার-জন্য-CUDA-টুলকিট-9-1-অন-উবুন্টু-16-04 /


ধন্যবাদ @ মাইকে, আপনি কি জানেন যে ডেব ফাইল এবং সাধারণ .tar ফাইল ব্যবহারের মধ্যে পার্থক্য কী? কোনটি সুপারিশ করা হয় এবং কেন? (যেভাবে আমি নিজে রানফিল ব্যবহার করে সিউডিএ ইনস্টল করতাম এবং উবুন্টুতে cuDNN এর জন্য .tar প্যাকেজটিও ব্যবহার করি)
রিকা

মতে প্রাসঙ্গিক ইনস্টলেশন নথি থেকে এনভিডিয়া , তবে আপনি পুরোনো সংস্করণগুলি সরিয়ে ফেলা হচ্ছে সম্পর্কে কী বলে সঠিক নয়:cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
n1k31t4

3

এছাড়াও, আপনি দেবিয়ান ভিত্তিক বিতরণের জন্য ডেব প্যাকেজগুলি ডাউনলোড করতে পারেন।

এনভিআইডিআইএ ওয়েব পৃষ্ঠা থেকে, বিকাশকারী প্রোফাইলের জন্য পরবর্তী ফাইলগুলি উপলভ্য:

  • cuDNN v5.1 লিনাক্সের জন্য রানটাইম লাইব্রেরি (দেব)
  • cuDNN v5.1 লিনাক্সের জন্য বিকাশকারী গ্রন্থাগার (দেব)
  • cuDNN v5.1 কোড নমুনা এবং ব্যবহারকারী গাইড লিনাক্স (দেব)

আমি এটি পরীক্ষা করেছিলাম, আমার মেশিনে ডেবিয়ান (স্ট্রেচ) দিয়ে এবং টেনসরফ্লো কাজ করছে!


6
দয়া করে নোট করুন যে এখন অবধি (জুলাই ২০১)) cuDNN v5.1 টেনসরফ্লোতে কাজ করবে না যদি আপনি এটি উত্স থেকে সংকলন না করেন তবে tensorflow.org/versions/r0.9/get_start/os_setup.html দেখুন
মাস্তাজি

2

@ মার্টিন থোমা এবং @ orহোর এমé দ্বারা স্থির বৈধ উত্তরে একটি গুরুত্বপূর্ণ বিবরণ যুক্ত করা: লুবকুডন ফাইলগুলি চুদা ডিরেক্টরিতে অনুলিপি করার পরে, আপনাকে অবশ্যই আপনার .bashrc ফাইলটি আপডেট করতে হবে:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

তারপরে আপনাকে অবশ্যই এটির যে কোনও কনফিগারেশনের ফাইল অন্তর্ভুক্ত ডিরেক্টরি যুক্ত করতে হবে। ক্যাফে যেমন একটি কনফিগার ফাইল রয়েছে যা মেক দিয়ে সংকলনের আগে আপনাকে অবশ্যই সম্পাদনা করতে হবে। এই জন্য, এই কনফিগার ভেরিয়েবলগুলিতে পাথগুলি যুক্ত করতে ক্যাফে / মেকফিল.কনফিগ সম্পাদনা করুন (পাথগুলির মধ্যে সাদা স্থান যোগ করুন):

INCLUDE_DIRS: /usr/local/caffe/cuda/include/ 
LIBRARY_DIRS: /usr/local/cuda/lib64/

প্রতিটি বর্তমান টার্মিনাল উইন্ডোর জন্য আপনি এই পরিবর্তনগুলি কার্যকর হতে চান, একবার ফাইলটি কার্যকর করতে ভুলবেন না!

. ~/.bashrc

0

উত্তরটি সঠিক তবে cUDNN 5.1 এর জন্য কিছু নাম পরিবর্তন করা হয়েছে। সুতরাং আপনি যদি cuDNN ফাইলটি বের করার পরে এই সংস্করণটি ব্যবহার করেন তবে আপনি দুটি ফোল্ডার পাবেন: lib এবং অন্তর্ভুক্ত। ফোল্ডারের অন্তর্ভুক্ত * .h ফাইলের নামটি cudnn.h এ পরিবর্তন করুন এবং তারপরে https://askubuntu.com/a/767270/641589 অনুসরণ করুন । আপনি যদি ক্যাফের জন্য cuDNN ব্যবহার করতে চান তবে এই পরিবর্তনটি প্রয়োজন!


আপনার উত্তরটি সম্পাদনা করুন এবং 'উপরের নির্দেশ', উল্লেখটি যুক্ত করুন।
সুডোডাস

0

১.0.০৪-তে আপনি যদি এনভিডিয়া ওয়েবসাইট থেকে সরাসরি চুদা ইনস্টল করছেন এবং আপনি উত্স থেকে টেনসরফ্লোও নির্মাণ করছেন তবে আপনি যে ডিরেক্টরিটি চুডন হিসাবে নির্দেশ করতে চান তা নির্দিষ্ট করে দিতে পারেন। ডিফল্টরূপে এটি:

/usr/include/x86_64-linux-gnu

আপনি যখন টেনসরফ্লো তৈরি করছেন তখন এটি আপনাকে জিজ্ঞাসা করবে যে আপনি চাদনের জন্য কী সংস্করণটি ব্যবহার করছেন তা নির্দেশ করতে চান। তারপরে এটি জিজ্ঞাসা করবে এটি কোথায় অবস্থিত। কেবল উপরের ডিরেক্টরিটি নির্দেশ করুন এবং এটি সূক্ষ্মভাবে কাজ করবে। এটি সেই সময়ে একটি হুইল ফাইল তৈরি করা উচিত এবং আপনি এটি পিপ দিয়ে ইনস্টল করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.