مقایسه پایتورچ و تنسورفلو

آیا پایتورچ در حال رسیدن به تنسورفلو است؟

نوشته شده توسط Jeff Hale مدرس برتر در دوره های علوم داده در General Assembly

بررسی وضعیت فریم ورک های یادگیری عمیق در سال ۲۰۲۰

حدود ۱۰ ماه از زمانی که دور نمای فریم ورک های برتر یادگیری عمیق بررسی کرده ام گذشته است. پایتورچ ( PyTorch ) و تنسورفلو ( TensorFlow ) به طور واضح عنوان فریم ورک های برتر شناخته شدند. تنسورفلو یک برتری ۲ ساله از نظر زمان انتشار نسبت به پایتورچ دارد ولی پایتورچ در بسیاری از حوزه ها در حال نزدیک شدن به تنسورفلو است. بیایید ببینیم هم اکنون در کجای کار هستند!

پایتورچ و تنسورفلو؟

چه تغییراتی رخ داده است؟

تنسورفلو و پایتورچ بسیار و بسیار شبیه یکدیگر هستند. تنسورفلو با تغییرات و نوآوری های پایتورچ سازگاری یافته و پایتورچ تغییرات و نوآوری های تنسورفلو را در خود گنجانده است. به ویژه، حالا هر دوی زبان ها می توانند در حالت اجرای مشتاقانه پویا ( Dynamic Eager Execution ) و یا در حالت گراف ایستا ( Static Graph ) وارد عمل شوند.

هر دوی فریم ورک ها منبع باز هستند، ولی پایتورچ زاده ی فیس بوک و تنسورفلو زاده ی گوگل می باشد.

اکنون بیایید به بعضی تفاوت ها و به روز رسانی های آن ها نگاهی بیاندازیم.

پایتورچ

پایتورچ:

پایتورچ در زمان نوشتن این مطلب در نسخه۴/ ۱خود می باشد. این فریم ورک در حال افزودن ویژگی هایی برای افزایش انطباق با صنعت است. امروزه پایتورچ به آسانی می تواند بر روی واحد پردازش ترنسور که متعلق به گوگل است اجرا شود که سریع ترین راه برای آموزش دادن به مدل های پیچیده یادگیری عمیق است.

همچنین تیم پشتیبانی فریم ورک Chainer یعنی Preferred Networks اخیرا تیم خود را به پایتورچ آورده اند. نهایتا اگر شما با   C++ یا جاوا آشنا هستید، پایتورچ نسخه مناسبی برای شما دارد.

تنسورفلو

تنسورفلو

تنسورفلو ۲ پیشرفت های زیادی را معرفی کرده است که اینAPI  را  آسان تر و قابل فهم تر می سازد. این فریم ورک با کراس ( Keras ) به عنوان Front-End و API سطح بالای خود ادغام شده است. کراس هنوز هم می تواند در بعضی دیگر از فریم ورک ها مورد استفاده قرار گیرد، ولی عموما برای استفاده به عنوان بخشی از تنسورفلو منطقی به نظر می رسد.

همچنین اگر شما جاوا اسکریپت را به پایتون ترجیح می دهید،  تنسورفلو یک نسخه جاوا اسکریپت برای شما دارد.

تنسورفلو نسبت به پایتورچ، دارای ابزار بیشتری و جدید تری برای یادگیری عمیق در تولید است ولی پایتورچ در حال نزدیک شدن از نظر برابری ویژگی ها است.

شیوه

اگر شما بخواهید یک فریم ورک محبوب یادگیری عمیق را یاد بگیرید، پایتورچ و تنسورفلو ۲ دو بازیکن اصلی این میدان هستند. من به دنبال فریم ورک های دیگر نیستم زیرا فریم ورک های دیگر به طور گسترده پذیرفته نشده اند.

در تحلیل و بررسی های قبلی، معیارهای زیادی را در نظر می گرفتم. نتایج نشان می داد که تنسورفلو و پایتورچ، هر دو در یک سطح در حال رشد بودند. در این مقاله، من می خواهیم روی ۴ معیار تمرکز کنیم که فکر می کنم بیشتر اهمیت دارند: لیست های شغلی، استفاده تحقیقی، نتایج تحقیقی آنلاین، خود گزارش دهی.

بیایید شروع کنیم!

لیست های شغلی

من در تاریخ ۲۶ ژوئن ۲۰۲۰، در سایت های  IndeedوMonster و  Simplehiredو  LinkedInبه دنبال کلید واژه های پایتورچ و تنسورفلو گشتم.

ایندید
سیمپلی هایرد
مانستر
لینکدین

تنسورفلو به طور متوسط دو برابر نتایج جستجو در هر وب سایت های لیست کار، ظاهر شد. اینجا اعداد خام را می بینید:

آمار سایت های لیست کار

و اینجا نتایج درصد از کل را می بینید .

آمار سایت های لیست کار نتایج کل

بنابر تحلیل و بررسی من در ده ماه قبل، متوجه شده بودم که تنسورفلو ۳ برابر بیشتر از پایتورچ ظاهر می شود. هم اکنون مزیت تنسورفلو به ۲ برابر کاهش یافته است.

تحقیق

حالا پایتورچ از لحاظ مقالات در کنفرانس های تحقیقاتی برتر، پیشرو است. هوراس هی، یک کار آموز سابق پایتورچ، در مورد موضوع تحقیق و بررسی کرده که می توانید در این مقاله ببینید. اینجا چارتی را می بینید که رشد این دو را نشان می دهد.

نمودار نسبت پایتورچ به تنسورفلو
درصد مقالات پایتورچ از مقالات تنسورفلو / پایتورچ . منبع

هر چیزی که بیشتر از ۵۰ درصد باشد، به این معنی است که اشاراتی که به پایتورچ در این کنفرانس شده است، بیشتر از تنسورفلو بوده است.

به عنوان یک نمونه با جزئیات بیشتر، اینجا نمرات خام از کنفرانس NeurlIPS را می بینید، که پایتورچ، تنسورفلو را تحت الشعاع قرار می دهد.  

نمودار پایتورچ به تنسورفلو
تعداد خام پایتورچ ( توپور ) ودر مقابل، تنسورفلو ( نقطه چین ) . منبع

در کنفرانس NeurlIPS اخیر، پایتورچ در ۱۶۶مقاله و تنسورفلو در ۷۴ مقاله نام برده شده بودند. پایتورچ که در سال ۲۰۱۸ نسبت به تنسورفلو در تعداد کمتری از مقاله ها وجود داشت، در سال ۲۰۱۹ شمار مقالات آن به ۲ برابر تنسورفلو رسیده است.

برای من شگفت انگیز بود که پایتورچ از تنسورفلو به سرعت سبقت گرفت. اگر پایتورچ به گسترش پیشروی خود در این زمینه ادامه دهد، دیدن آن جذاب خواهد بود.

بیایید به تحقیق آنلاین بعدی نگاه کنیم.

محبوبیت در جستجو

 من از Google Trends برای پیدا کردن اعداد مربوط به پایتورچ ( نرم افزار )  و تنسورفلو ( برنامه کامپیوتری ) در آمریکا از ۲۶ ژانویه سال ۲۰۱۷ تا ۲۶ ژانویه سال ۲۰۲۰ ، استفاده کردم.

نتایج را در قسمت پایین می بینید که تنسورفلو با رنگ آبی و پایتورچ با رنگ قرمز مشخص شده است:

آمار ترند گوگل پایتورچ و تنسورفلو
محبوبیت در جستجو گوگل. تنسورفلو با آبی و پایتورچ با قرمز.

ظاهرا کسی دوست ندارد در مورد فریم ورک های یادگیری عمیق در نزدیکی های تعطیلات زمستانی جستجو کند.😁  

اینجا همان اطلاعات را می بینید با خطوط ترند خطی.

نتایج سرچ گوگل پایتورچ و تنسورفلو
نتایج تحقیق گوگل . تنسورفلو با آبی. پایتورچ با قرمز. نسخه ی آنلاین را در سایت Tableau Public ببینید.

پایتورچ به صورت قابل توجهی، فاصله را کاهش داده است. و اگر این روند ادامه داشته باشد دیدن نتایج آن بسیار جالب خواهد بود.

و در پایان، بیایید نگاهی  بر آنچه مردم در حال استفاده از آن هستند، بیاندازیم.

استفاده گزارش شده

در نظرسنجی توسعه دهندگان سایت   Stack Overflowاز سال ۲۰۱۹ ، ۳/۱۰ درصد از پاسخ دهنده ها استفاده از تنسورفلو را گزارش دادند در حالی که ۳/ ۳درصد استفاده از پایتورچ را گزارش کرده اند. زیرمجموعه ای از توسعه دهنده های حرفه ای، گزارشات مشابهی داشتند ( ۴/۹درصد در مقابل ۹/۲درصد ). هیچ فریم ورک یادگیری عمیق دیگری گزارش نشده است.

لازم به ذکر است که این تحقیق در اوایل سال ۲۰۱۹ انجام شده است، خب ما باید منتظر باشیم تا ببینیم نتایج در سال ۲۰۲۰ چه چیزی را نشان خواهند داد.

نتیجه

هنوز هم به تنسورفلو بیشتر از پایتورچ در لیست های شغلی اشاره می شود، ولی این فاصله در حال کم شدن است. در استفاده از مقالات تحقیقی در کنفرانس های برتر، پایتورچ پیشروی را بر عهده گرفته است و در نتایج تحقیقات گوگلی، بیشتر فاصله را کم کرده است. بر اساس نظرسنجی توسعه دهندگان سایتStack Overflow  ، تنسورفلو در استفاده سه برابر رایج تر است.

به طور کلی، تنسورفلو هنوز هم در بیشتر موارد رهبری می کند ولی پایتورچ در حال رسیدن به آن است.

شما باید روی چه چیزی تمرکز کنید؟

این پروژه به خواست و علاقه ی من به گذراندن وقتم  به منظور استفاده و یادگیری در زمینه فریم ورک یادگیری عمیق، به وجود آمده که بیشتر برای کسانی که قصد یادگیری در این حوزه را دارند مناسب است. من هنوز نمی دانم که پاسخ در ۲سال آینده پایتورچ خواهد بود یا تنسورفلو.

اینطور به نظر می رسد که پایتورچ مسیر خود را به سمت برابری ادامه خواهد داد. اگرچه تنسورفلو هنوز هم گزینه ی خوب و امنی است. تنسورفلو برای آینده ای پیش بینی شده مورد استفاده خواهد بود، خصوصا توسط کارفرمایان.

لازم به ذکر است که هر دوی فریم ورک ها به ساخت یک رقابت با روحیه ی تعاملی ادامه دهند. نوآوری های پیش رو محبوبیت خود را خواهند ساخت و همچنین مزیت هایی برای کاربران به همراه خواهند داشت.

منابع

اگر شما اماده اید تا یادگیری عمیق را فرا بگیرید، من خواندن منابع زیر را به شما پیشنهاد می کنم:

 Fast.ai MOOCدارای ویدیوهای عالی و جامعه ای حامی می باشد. مخصوصا اگر می خواهید پایتورچ را یاد بگیرید، این یک گزینه ی مفید است.

کتاب یادگیری عمیق با پایتون از Chollet ، یک گزینه ی عالی برای شروع یادگیری عمیق است. او نویسنده اصلی کراس می باشد. این کتاب مخصوصا یک گزینه عالی برای شماست اگر بخواهید تنسورفلو را یاد بگیرید.

هر دو فریم ورک تنسورفلو و پایتورچ دارای آموزش ها و راهنما های خوبی در بخش اسنادشان می باشند.

پیش نیازها

قبل از اینکه با یادگیری عمیق روبه رو شوید، به شما پیشنهاد می کنم که پایتون را یاد بگیرید. اگر در کار کردن با پایتون تازه وارد هستید، کتاب پایتون خاطره انگیز خودم را پیشنهاد کنم.

اگر شما مبانی پایتون را به خوبی فرا گرفته اید، من به شما پیشنهاد می کنم تا کتابخانه های پایتون  NumPy وpandas  را برای پاکسازی داده و تحقیق و بررسی یاد بگیرید. کتاب پایتون برای بررسی داده  از Mickinney  موضوعات NumPy و  pandas را به خوبی پوشش می دهد. من همینطور کتاب  pandasرا هم در کار ها استفاده می کنم ، پس در لیست ایمیل Data Awesome  من عضو شوید تا هنگامی که منتشر شد، اولین نفر باشید که باخبر می شوید.

نهایتا قبل از اینکه به سراغ یادگیری عمیق که شاخه ای از یادگیری ماشین است، بروید، من به شما پیشنهاد می کنم تا الگوریتم های عمومی یادگیری ماشین بیشتری را با کتابخانه scikit-learn به کار گیرید. من کتاب مقدمه ای بر یادگیری ماشین با پایتون که کاری از Muller و Guido هست را دوست دارم. همچنین ویرایش دوم کتابHands-On Machine Learning with Scikit-Learn Keras, and TensorFlow از Aurélien Géron یادگیری ماشین و یادگیری عمیق را توسط تنسورفلو۲ پوشش می دهد.

جمع بندی

امیدوارم این ارزیابی وضعیت محبوب ترین فریم ورک های یادگیری عمیق برای شما مفید بوده باشد. اگر اینگونه بود، لطفا این مطلب را در شبکه های اجتماعی محبوبتان به اشتراک بگذارید تا دیگر افراد هم بتوانند آن پیدا کنند و بخوانند.

بیشتر بخوانید : 

منبع Towards Data Science

همچنین ببینید

استفاده از هوش مصنوعی مولد برای بهبود تست نرم‌افزار

هوش مصنوعی مولد به دلیل توانایی خود در ایجاد متن و تصاویر بسیار مورد توجه …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *