টেনসরফ্লো এর জন্য আমি চুদা এবং সিইউডিএনএন ইনস্টল করতে চাই। আমি কীভাবে উবুন্টু 16.04 এ করব?
টেনসরফ্লো এর জন্য আমি চুদা এবং সিইউডিএনএন ইনস্টল করতে চাই। আমি কীভাবে উবুন্টু 16.04 এ করব?
উত্তর:
পদক্ষেপ 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*
-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
লাইব্রেরিগুলিতে এবং সিউডিএ 8.0, উবুন্টু 14.04, টেনসরফ্লো 0.12.0rc0 ব্যবহার করে) - এটি কারও পক্ষে সহায়ক this lib64/
/usr/local/cuda-8.0/include
/usr/local/cuda-8.0/lib64
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) কারণ রান রানটাইমের উপর নির্ভর করে (ধন্যবাদ @ টিনমারিনো)
/usr/lib/x86_64-linux-gnu/
runtime
বিরতি ইনস্টল করতে হবে এটির dev
উপর নির্ভর করে
এনভিডিয়া থেকে সর্বশেষ সিউডিএ ডাউনলোড করুন এবং ইনস্টল করুন বা আপনি যে সফ্টওয়্যারটির সাথে কাজ করছেন তার সাথে সামঞ্জস্য করা সর্বশেষ সংস্করণটি যদি কোনও ক্ষেত্রে থাকে তবে এই ক্ষেত্রে আপনার সংস্করণ টি-ফ্লো।
দ্রষ্টব্য, ক্লিক করে উবুন্টুর স্ট্যান্ডার্ড প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করা সম্ভবত যথাযথভাবে কাজ করবে না।
পরিবর্তে, প্যাকেজ ইনস্টল করতে আপনাকে সম্ভবত টার্মিনালে এই নির্দেশাবলী অনুসরণ করতে হবে .deb
। এর পরে আপনাকে কয়েকটি লাইন যুক্ত করতে হবে .bashrc
বা আপনার ক্ষেত্রে যেখানে উপযুক্ত হবে। উদাহরণস্বরূপ, আপনি যদি কোনও সার্ভার কনফিগার করছেন তবে এটি সম্ভবত অন্য কোনও জায়গা হতে চলেছে, সম্ভবত আপনার অ্যাপ্লিকেশনটির অটোল্যাঞ্চের আগে কোথাও .bashrc
সম্ভবত এটি কার্যকর হবে না।
এনভিডিয়া থেকে সিইউডিএনএন ডাউনলোড করুন
আমি "লিনাক্সের জন্য লাইব্রেরি" সংস্করণ ব্যবহার করেছি, .deb
প্যাকেজগুলির সাথে খুব ভাগ্য হয়নি ।
আপনি যেখানে CUDA এর মাধ্যমে অবস্থিত তা খুঁজে পেতে পারেন
which nvcc
। সাধারণত /usr/local/cuda/
আপনার বর্তমানে ইনস্টল করা সংস্করণটির প্রতীকী লিঙ্ক হবে।
cuda/lib64/
এবং cuda/include/
) এর মধ্যে উপযুক্ত স্থানে উপযুক্ত সামগ্রীগুলি অনুলিপি করুন । আমি সাধারণত sudo nautilus
এবং সেখান থেকে এটি দৃশ্যত করি।ফাস্ট ফরোয়ার্ড 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 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
এছাড়াও, আপনি দেবিয়ান ভিত্তিক বিতরণের জন্য ডেব প্যাকেজগুলি ডাউনলোড করতে পারেন।
এনভিআইডিআইএ ওয়েব পৃষ্ঠা থেকে, বিকাশকারী প্রোফাইলের জন্য পরবর্তী ফাইলগুলি উপলভ্য:
আমি এটি পরীক্ষা করেছিলাম, আমার মেশিনে ডেবিয়ান (স্ট্রেচ) দিয়ে এবং টেনসরফ্লো কাজ করছে!
@ মার্টিন থোমা এবং @ 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
উত্তরটি সঠিক তবে cUDNN 5.1 এর জন্য কিছু নাম পরিবর্তন করা হয়েছে। সুতরাং আপনি যদি cuDNN ফাইলটি বের করার পরে এই সংস্করণটি ব্যবহার করেন তবে আপনি দুটি ফোল্ডার পাবেন: lib এবং অন্তর্ভুক্ত। ফোল্ডারের অন্তর্ভুক্ত * .h ফাইলের নামটি cudnn.h এ পরিবর্তন করুন এবং তারপরে https://askubuntu.com/a/767270/641589 অনুসরণ করুন । আপনি যদি ক্যাফের জন্য cuDNN ব্যবহার করতে চান তবে এই পরিবর্তনটি প্রয়োজন!
১.0.০৪-তে আপনি যদি এনভিডিয়া ওয়েবসাইট থেকে সরাসরি চুদা ইনস্টল করছেন এবং আপনি উত্স থেকে টেনসরফ্লোও নির্মাণ করছেন তবে আপনি যে ডিরেক্টরিটি চুডন হিসাবে নির্দেশ করতে চান তা নির্দিষ্ট করে দিতে পারেন। ডিফল্টরূপে এটি:
/usr/include/x86_64-linux-gnu
আপনি যখন টেনসরফ্লো তৈরি করছেন তখন এটি আপনাকে জিজ্ঞাসা করবে যে আপনি চাদনের জন্য কী সংস্করণটি ব্যবহার করছেন তা নির্দেশ করতে চান। তারপরে এটি জিজ্ঞাসা করবে এটি কোথায় অবস্থিত। কেবল উপরের ডিরেক্টরিটি নির্দেশ করুন এবং এটি সূক্ষ্মভাবে কাজ করবে। এটি সেই সময়ে একটি হুইল ফাইল তৈরি করা উচিত এবং আপনি এটি পিপ দিয়ে ইনস্টল করতে পারেন।