نصب پایتورچ
بهنام خدا، سلام… در جلسه اول دوره آموزش پایتورچ میخواهیم فرآیند نصب پایتورچ را به شما آموزش دهیم. طبیعتا این جلسه از آموزش، بسیار ساده هست. اما حوصله کنید، ابتدای راه هستیم و انشالله به بخشهای خوب و جذاب پایتورچ و یادگیری عمیق خواهیم رسید. با هوسم همراه باشید…
مقدمهای بر جلسه اول: آموزش نصب پایتورچ
فریمورک یا کتابخانه پایتورچ ، یک کتابخانه مبتنی بر زبان برنامه نویسی پایتون/++C/جاوا است. در جمله قبل دو اصطلاح فریمورک (Framework) و زبان برنامه نویسی (Programming Language) را بهکار بردیم. ممکن است تفاوت بین زبان برنامه نویسی و فریمورک را ندانید. از طرفی ممکن است گاهی اوقات اصطلاحی بهنام IDE را شنیده باشید و بازهم ممکن است دقیقا مفهوم آنرا ندانید. اتفاقا در همان ابتدای کار با پایتورچ یا تنسورفلو با هر سه اصطلاح Programming Language ، Framework و IDE سروکار خواهید داشت. اگر این اصطلاحات برای شما مفهوم نیست، مشکلی نیست. یک توضیح کوچک درمورد این سه اصطلاح میدهیم و کار را یکسره میکنیم.
-
آشنایی با زبان برنامه نویسی
طبیعتا بین این سه مورد، زبان برنامه نویسی از همه آسانتر است. در دنیای امروز، زبانهای برنامه نویسی متعددی مانند پایتون، متلب، جاوا و غیره وجود دارد. نمیخواهیم وارد جزئیات زبان های برنامه نویسی شویم. اگر چند زبان برنامه نویسی را میشناسید، همین کافی است. باتوجه به محبوبیت بالای پایتون در یادگیری عمیق ، ما هم پایتون را به عنوان زبان برنامه نویسی انتخاب کردهایم.
-
آشنایی با فریمورک
ابتدا بیایید یک مثال واقعی برای سه اصطلاح Language ، Framework و IDE بزنیم. تصویر کنید، شما سوپ خیلی دوست دارید. خب ساده است، یک راه این است که مانند تصویر زیر، مواد اولیه را به صف کنید و آنها را به اندازه کافی و در زمان مناسب با هم ترکیب کنید. و درنتیجه یک سوپ خواهید داشت و میتوانید نوش جان کنید! اما، این فرآیند ممکن است برای شما وقتگیر و مشکل باشد. و از همه مهمتر درنهایت سوپ لذیذی هم نشود!
راه دیگر این است که خودتان آشپزی نکنید و این کار را به کارخانههای تولید سوپ نیمهآماده بسپارید. تنها یک بسته سوپ نیمهآماده خریداری میکنید که در زمان بسیار کمی آماده میشود و تمام! ببینید دو سناریو وجود داشت: (1) کسی که خودش با مواد اولیه سوپ درست میکند و (2) کسی که سوپ نیمه آماده میخرد.
در مورد (1)، مواد اولیه همان نقش زبان برنامه نویسی را دارند که شما با آن مواد اولیه (همان قوانین و دستورات در زبان برنامه نویسی) میخواهید چیزی خلق کنید. در مورد (2)، شما شاهد یک فریمورک هستید. سازمان دیگری یک سوپ نیمه آماده (فریمورک آماده) با همان مواد اولیه (قوانین و دستورات زبان برنامه نویسی) ساخته و شما فقط باید استفاده کنید.
شاید حالا بد نباشد که یک مثال مرتبط هم بزنیم. تصویر کنید شما از پایتون استفاده میکنید. میخواهید نمودار بکشید. پایتون دستور آمادهای برای کشیدن نمودار ندارد. یا شما باید خودتان از صفر نحوه ترسیم نمودار را بنویسید (خودتان سوپ درست کنید) که بسیار مشکل است. یا اینکه باید از یک مجموعه کد آماده استفاده کنید. مثلا میبینید یک مجموعه آماده رسم نمودار بهنام matplotlib وجود دارد. این همان فریمورک یا کتابخانه است. یک گروه بزرگ روی آن کار کردهاند و حالا توسط هزاران نفر درحال استفاده است. چرا از نو چرخ را بسازیم؟ خب از همین فریمورک برای رسم نمودار استفاده میکنیم! تصویر زیر را ببینید؛ این همه نمودار متنوع با matplotlib …
پایتورچ هم یک فریمورک پایتونی است. فریمورکی برای مباحث یادگیری عمیق… مگر میشود خودمان شبکههای کانولوشنی را پیادهسازی کنیم؟! جالب اینجاست که همین پایتورچ و تنسورفلو هم چرخ را از نو نمیسازند. یعنی یکسری از عملیات را برعهده اینتل و انویدیا گذاشتهاند تا آنها پیادهسازی کنند. چون میگویند این دو شرکت CPU و GPU تولید میکنند و خودشان بهتر میدانند چگونه یک کانولوشن را روی دیوایسهایشان بهینه پیاده کنند.
اگر اهل کار با متلب باشید، احتمالا میگویید متلب اصلا نیازی به فریمورک ندارد! چرا اتفاقا دارد. تولباکسهای متلب حکم همان فریمورکها را دارند که هرکدام قیمت بالایی هم دارند. اما ما غیرقانونی دانلود میکنیم و همه را رایگان یکجا داریم…
-
آشنایی با IDE
برویم سراغ IDE… IDE مخفف عبارت Integrated Development Environment هست. برگردیم به مثال سوپ و آشپزی… چه شما بخواهید از اول خودتان سوپ بپزید و چه نیمه آماده بخرید، درهرصورت به ظروف و گاز نیاز دارید! اینها همان IDE هستند. طبیعتا برای اینکه زود یک سوپی بخورید، دوست ندارید روی هیزم و آتش آن را آماده کنید. در بحث ما IDE یعنی حالا در چه محیطی یا نرمافزاری کدهایمان را بنویسیم. خیلی ساده، شما میتوانید در notepad هم کدهایتان را بنویسید. ولی خب کار ما با ریاضیات سروکار دارد. نیاز به ابزارهایی مانند debug و auto-complete داریم. پس واقعا باید ظروف و گازمان خوب باشد! ما برای کدنویسی پایتون و پایتورچ، IDE پایچارم ( PyCharm ) را پیشنهاد میکنیم. پس ما قرار است از Pytorch ، Python و PyCharm تا پایان این دوره استفاده کنیم…
برویم نحوه نصب هریک از سه مورد Pytorch ، Python و PyCharm را به شما آموزش دهیم.
نصب پایتون
پیشنیاز نصب پایتورچ، پایتون است. فرآیند نصب پایتون بسیار ساده است و شاید در 5 دقیقه بتوانید آن را نصب کنید. ما نحوه نصب پایتون را در پستی جداگانه توضیح دادهایم. پس اگر قبلا پایتون نصب نکردهاید میتوانید از طریق لینک زیر این کار را انجام دهید.
نصب پایتورچ
ابتدا به سایت پایتورچ برویم (کلیک کنید). در همان صفحه ورود پایتورچ با تصویر زیر مواجه خواهید شد. با انتخاب چند گزینه ساده، یک لینک برای نصب پایتورچ در اختیار شما قرار میگیرد. اما هریک از گزینههای زیر چه معنا و مفهومی دارد؟
در ادامه هریک از گزینههای بالا را توضیح میدهیم:
- PyTorch Build: اشاره به شماره نسخه نصبی دارد. دراینجا گفته شده که نسخه 1.4 پایدار است و نسخه Preview مثلا نسخهای جدیدتر است که هنوز رسمی منتشر نشده، مثلا نسخه 1.5… خب بهتر است که نسخه 1.4 یا همان Stable را نصب کنیم.
- Your OS: سیستم عاملتان چیست؟ خب مشخص است که سیستمهای عامل ویندوز، مک و لینوکس را پوشش میدهد. ما فرض را براین گذاشتهایم که شما میخواهید روی ویندوز نصب کنید. پس گزینه ویندوز را انتخاب کنید.
- Package: منظورشان از پکیج همان فریمورک یا کتابخانه یا لایبرری است. همه این اسمها رایج هستند. خب شما چه پکیجی میخواهید و چگونه میخواهید نصب کنید؟ مثلا Source یعنی نسخه خام را به شما بدهند تا خودتان بیلد کنید. اگر این جمله را متوجه نشدید، مهم نیست. یک مقدار مربوط به کارهای پیشرفته میشود. شاید بعدا توضیح بدهیم…LibTorch نسخه ++C است و چندان به کار شما نمیآید. اما دو مورد Conda و pip که ما باید یک مورد را انتخاب کنیم. میخواهید فرآیند نصب با Conda انجام شود یا pip؟ ما به شما پیشنهاد میکنیم pip را انتخاب کنید. چون خیلی ساده است و همه چیز تحت کنترل شماست! برای نصب به روش Conda شما باید نرمافزار Anaconda را ابتدا نصب کنید. فعلا بیایید کار را سخت نکنیم.
- Language: این گزینه از گزینه بالا تبعیت میکند. اگر شما pip یا Conda را انتخاب کنید، خودبهخود Python انتخاب میشود.
- CUDA: در این مرحله از ما میپرسد که نسخه CPU میخواهید یا GPU؟ اگر None را انتخاب کنید CPU انتخاب میشود. اما اگر نسخه GPU را بخواهید، باید حواستان به نسخه CUDA باشد. فعلا بهتر است با نسخه CPU پیش برویم. پس لطفا None را انتخاب کنید.
تمام! برای نصب پایتورچ اگر جواب تمام این سوالها را بدانیم مشکل حل است و میتوانیم برویم برای نصب…
در آخرین سطر تصویر بالا Run this Command یک دستور به شما داده است که آن را کپی کنید.
در منوی استارت cmd را تایپ کنید و سپس cmd را باز کنید. دستوری که کپی کرده بودید، در آن پیست کنید و منتظر باشید تا پکیج پایتورچ را دانلود و نصب کند. حواستان باشد که اینترنتتان قطع نباشد. فرآیند نصب پایتورچ مشابه تصویر زیر خواهد بود:
توجه یکی از خطاهای شایع در نصب کتابخانهها با pip، خطای Permission denied است. بهتر است cmd خود را بهصورت Run as administrator اجرا نمایید.
بسیار خب بعد از نصب پایتون، فریمورک پایتورچ هم در دومین گام نصب شد. خب بیابید یک تستی انجام دهیم. در محیط cmd، ابتدا بنویسید python و Enter بزنید. مشاهده میکنید بلافاصله علامت <<< ظاهر میشود. حالا میتوانید دستورات پایتونی بنویسید. با چند خط دستور زیر میتوانید کتابخانه پایتورچ را ابتدا ایمپورت کنید و سپس یک ماتریس رندوم یا تصادفی بسازید. اگر بدون خطا دستورات شما اجرا شد، یعنی این مرحله را هم به سلامت گذراندید.
این همه در مورد نحوه نصب پایتون و پایتورچ توضیح دادیم. ولی انصافا نصب این دو مرحله نهایتا 10 دقیقه زمان ببرد. راستی ما در جلسات آینده، تمریناتی با شکل و ساختار زیر برای شما درنظر خواهیم گرفت. لطفا، ابتدا خودتان به سوالات و تمرینات پاسخ دهید و بعد روی کادر زیر کلیک کنید تا جواب درست را ببینید…
زبان های برنامه نویسی فقط دستورات و قوانین اولیه را آماده می کنند. بقیه را میسپارند به عهده مهندسان که خودشان فریمورکهای مخصوص کارشان را بسازند. درحال حاضر هزاران فریمورک مختلف در حوزه هوش مصنوعی، وب، اقتصادی، ریاضی و غیره برای پایتون وجود دارد. ما که در حوزه هوش مصنوعی کار میکنیم چرا باید فریمورکهای وب را در پایتون داشته باشیم. پس پایتون را نصب میکنیم و بعد آن را برای کار خودمان با فریمورکها تیون میکنیم!
نصب پایچارم ( PyCharm )
خب گفتیم چه خودمان سوپ درست کنیم و چه آماده استفاده کنیم نیاز به IDE (همان ظرف و ظروف) داریم. بهنظر شما واقعا میشود در محیط cmd یا IDLE پایتون کد یادگیری عمیق نوشت؟ نمیشود! پایچارم را معرفی کردیم. نمیخواهیم در مورد نصب پایچارم توضیح دهیم، چون پایچارم یک نرمافزار است که نحوه نصب آن مانند نرمافزار ورد، فتوشاپ و غیره ساده است. پس به این آدرس بروید (کلیک کنید). گزینه Download را بزنید. دو نوع Professional و Community وجود دارد. Community نسخه رایگان است و کار ما را راه میاندازد. پس آن را دانلود و نصب کنید… راستی، پایچارم برای سه سیستم عامل مک، ویندوز و لینوکس عرضه میشود که عالی است.
قبلا مهندس اشرفی (مدرس دوره یادگیری عمیق هوسم) کمی درباره کار با پایچارم توضیح دادهاند. در ویدئوی زیر میتوانید یک آشنایی اولیه با پایچارم پیدا کنید.
شوخی پایچارم و پایتورچ جای هم بهکار نبرید! اسم این دو به هم نزدیک است. دانشجویان ما بارها این دو اسم را جای هم بهکار میبردند.
خب فرآیند نصب سه مولفه پایتون ، پایتورچ و پایچارم را خدمت شما توضیح دادیم. ممکن است مشکلاتی پیش بیاید که در همین پست کامنت کنید. اما ممکن است بپرسید، آیا راهی نیست که این ابتدای کار با پایتورچ، درگیر این نصبها نشویم؟ چرا، راه راحتی هم وجود دارد، آنهم Google Colab است. در قسمت بعدی خیلی خلاصه این ابزار آنلاین را به شما معرفی میکنیم.
کار با گوگل کولب ( Google Colab )
از زمانیکه یادگیری عمیق اوج گرفت و نیاز به سختافزارهای با GPU قدرتمند زیاد شد. بسیاری از شرکتها تصمیم گرفتند، سختافزار بهصورت ساعتی اجاره دهند. گوگل علاوه بر سرویسهای پولی یک سرویس رایگان برای همه دنیا عرضه کرد. در ابتدا، کار با این ابزار خیلی آزادهنده بود ولی رفتهرفته بسیار خوب و باثبات شد. امروز شما میتوانید تنها با یک جیمیل از این سرویس بهصورت رایگان استفاده کنید. بعدا یک آموزش از صفر تا پیشرفته برای کولب خواهیم ساخت. بهتر است اینجا چندان وارد جزئیات نشویم و تنها نحوه استفاده از آن را به شما آموزش دهیم.
به سایت گوگل کولب بروید ( Google Colab ). نمایی از محیط آن را در تصویر زیر میتوانید مشاهده کنید. فقط دو گام ساده برای نوشتن کد پایتورچ لازم است:
- طبق کادر شماره 1، ابتدا با جیمیل خود Sign in کنید.
- از منوی File، گزینه New notebook را بزنید.
خب یک فایل نوتبوک در اختیار شما قرار میگیرد که میتوانید کدهایتان را راحت در آن بنویسید. ما قصد آموزش گوگل کولب را نداریم. اما در ادامه چند نکته ساده میگوییم که حداقل بتوانید کدهایتان را راحت بنویسید و اجرا کنید.
نکته دقت کنید قبل از نوشتن کد، درحالت کانکت باشید. همان ابتدای کار، شما به ماشین مجازی یا همان کامپیوتر گوگل متصل نیستید. کادر قرمز 1 از تصویر شکل 7، گزینه connect را نشان میدهد. روی آن کلیک کنید و منتظر باشید تا مشابه نوشتههای در تصویر شود. یعنی نشان میدهد که کامپیوتر متصل است و چقدر رم و هارد دارد. گاهی ممکن است قطع شود. اگر قطع شد، بازهم روی کانکت کلیک کنید.
نکته بعد از اتصال، شما کدهایتان را باید درون سلول خاکستری (کادر آبی) بنویسید. نیازی نیست پایتورچ نصب کنید. پایتورچ بهصورت پیشفرض نصب است و فقط کد بزنید و لذت ببرید!
نکته برای اجرای کدتان، کافی است دکمه Play در سمت چپ سلول (کادر قرمز 2) را کلیک کنید. کدهای موجود در سلول اجرا میشود و بعد هم اگر خروجی داشته باشد، زیر همان سلول نمایش میدهد.
نکته به کادر آبی که در آن کد میزنید، cell یا سلول گفته میشود. شما میتوانید سلولهای بیشتری داشته باشید. ماوس را به محل کادر قرمز 3 نزدیک کنید و صرفا با یک کلیک ساده سلول بسازید.
نکته بعد از اینکه یک نوتبوک جدید ساختید، بهصورت پیشفرض کد شما روی CPU اجرا میشود. اما میتوانید از منوی Runtime، گزینه Change runtime type را انتخاب کنید. سپس، از طریق گزینه Hardware accelerator، سختافزار GPU را انتحاب کنید. TPU چیست؟ سختافزار مخصوص گوگل… بیشتر از این فعلا نیازی نیست بدانید… راستی گوگل میگوید اگر با GPU کاری ندارید، الکی آن را اشغال نکنید تا همه بتوانند استفاده کنند. انصافا همه رعایت کنیم…
یک نمونه کد ساده از پایتورچ به همراه نتیجه آن را در تصویر زیر مشاهده میکنید:
بسیار خب، جلسه اول آموزش پایتورچ تمام شد. ما فرض را بر این میگذاریم که شما همه نصبها را انجام دادهاید. و همچنین ویدئوی آشنایی با پایچارم را هم دیدهاید. یا اینکه میخواهید از گوگل کولب استفاده کنید. درهرصورت جلسه بعدی، مستقیما وارد کدنویسی پایتورچ خواهیم شد. شما تا تاریخ 29 فروردین 99 فرصت دارید تا مشکلات خود را در نصب مطرح کنید تا تیم هوسم به شما در حد توان کمک کند. با هوسم همراه باشید…
مطالب زیر را حتما مطالعه کنید
شبکه عصبی mlp
شبکه ترنسفورمر
مدل MobileLLM
یادگیری عمیق چیست
آموزش یادگیری عمیق رایگان
شبکه عصبی کانولوشن
17 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
واقعا آفرین، خیلی نحوه بیان و تشریح مفاهیم پایتورچ و … رو به خوبی و کاملا قابل درک انجام دادید. ازتون ممنونم
سلام و وقت بخیر
ممنون از آموزشتون، من میخواستم پایتورچ و با نسخه CUDA 1.8 نصب کنم ولی موقع دانلود فایل تقریبا 2 گیگ بخاطر مشکلات نت نمیتونم نصب کنم، حالا من خود اون فایل whl و تونستم دانلود کنم، سوال من اینه که میتونم به صورت دستی اونو اکسترکتش کنم و نصبش کنم ؟
ممنون
سلام
برای نصب پایتورچ GPU راحتتر هست که از آناکوندا استفاده کنید. بدون نیاز به درگیری با Cuda و CuDNN نصب رو انجام میده. درهرصورت، اگر میخواید با pip پیش برید، میتونید از دستور pip برای نصب فایل لوکال هم استفاده کنید. کافی هست جلوی pip install بجای اسم فریمورک، آدرس لوکال فایل whl رو بهصورت کامل همراه با پسوند قرار بدید. در اینترنت به انگلیسی pip install from local path رو سرچ کنید.
سلام
سپاس از توضیحات کامل و جامع شما
با عرض ادب و خسته نباشید
با کارت گرافیک AMD تقریبا قدیمی، میشه با cudaی گرافیک کار کرد.
درضمن جواب کدی که در سایت رسمی pytorch هست (torch.cuda.is_available() )، false میشود، این به این معنی است که کارت گرافیک من نمیتواند پردازش انجام دهد؟
سلام
ما تجربه کار با AMD در یادگیری عمیق رو نداریم. قبلا این امکان وجود نداشت. اما در یک سال اخیر، پایتورچ تلاشهایی برای به کارگیری AMD در یادگیری عمیق داشته و گویا موفق هم بوده. اما ما پیگیری بیشتری نکردیم. شاید در مدیوم و یوتوب درموردش مطالب آموزشی وجود داشته باشه.
اگر دستور torch.cuda.is_available بهتون False داده، یعنی از پردازش مبتنی بر کودا خبری نیست.
سلام. هنگام نصب پایتورچ این پیام رو میده
ERROR: Could not find a version that satisfies the requirement torch (from versions: none)
ERROR: No matching distribution found for torch
ممنون میشم راهنمایی کنید
سلام
دو دلیل رایج این خطا:
1- نصب نسخه 32 پایتون (حتما 64 بیتی نصب کنید)
2- نصب آخرین ورژن پایتون (ممکن هست آخرین ورژن پایتون 3.10 باشه، ولی درعین حال پایتورچ نسخه 3.10 رو ساپورت نکنه. در این تاریخ، نصب نسخه 3.9 یا 3.8 گزینه خوبی هست.
سلام وقت بخیر با نسخه 3.7.7 پایتون چه نسخه پایتورچ مناسب و کچ هست؟
سلام
در متن کامل توضیح دادیم. نیازی نیست به دنبال نسخه مناسب پایتورچ باشید. کافی هست به سایت پایتورچ برید و گزینههای دانلود و نصب فریمورک پایتورچ رو طبق توضیحات این آموزش انتخاب کنید.
سلام من قدم به قدم پایتون وتورچ رو نصب کردم ولی دستور ایمپورت رو خطا میده .لطفا راهنمایی کنید.از خطا عکس گرفتم چطوری بفرستم براتون؟
عالی بود
سلام
سپاس 🌹
سلام.زمانی که در cmd دستور نصب pytorch می نویسم با این خطا مواجه میشم لطفا راهنمایی کنید:
دستور :conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
خطا : conda is not recognized as an internal or external command
سلام
برای نصب از conda استفاده کردید، درحالیکه احتمالا conda نصب نیست. یا اینکه سیستم شما conda رو نمیتونه پیدا کنه.
توضیحاتتون عالی بود
سلام
سپاس