پایتورچ (PyTorch) یک کتابخانه یادگیری عمیق متنباز است که در اکتبر 2016 نسخه اولیه آن توسط فیسبوک منتشر شد. پایتورچ فیسبوک رفتهرفته پیشرفت کرد و توجه بسیاری از محققان حوزه هوش مصنوعی را به خود جلب کرد. دلیل این جلب توجه، سادگی، راحتی و پایتونی بودن پایتورچ بود. امروزه، شرکتهای بزرگی همچون مایکروسافت، OpenAI، تسلا و اوبر اعلام کردهاند که تحقیقات خود را با پایتورچ پیش خواهند برد. چند سال قبل کتابخانههای یادگیری عمیق بسیاری وجود داشت و موجب سردرگمی افراد فعال درحوزه هوش مصنوعی شده بود. اما، امروز پایتورچ و تنسورفلو به دو کتابخانه اصلی و مناسب در حوزه یادگیری عمیق تبدیل شدهاند. درحال حاضر، پایتورچ نسخه 1.5 منتشر شده است. پایتورچ در حوزه کامپیوتر ویژن، پردازش زبان، پردازش صوت مجموعه دستورات اختصاصی بینظیری را آماده کرده است که کار را برای همه افراد فعال در هوش مصنوعی آسان میکند. پس مهم نیست در چه شاخهای از هوش مصنوعی کار میکنید، پایتورچ به فکر شما هم هست!
این کتابخانه دارای دو قابلیت منحصر به فرد دارند که شامل ساخته یک سری شبکههای عصبی عمیق که در سیستم اتو گرید می باشد قابلیت بعدی محاسبات تانسور برای استفاده از توان شتاب پردازنده های گرافیکی می باشد.
پای تورچ این امکان را به کاربران می دهد تا بتوانند گراف ها را بصورت پویا فراهم نمایند همچنین پای تورچ ابزار ها و قابلیت های خوبی را برای کاربران خود فراهم نموده است تا بتواند نسبت به کار هایی که به آن نسبت می دهند انعطاف پذیر بوده و کار ها را با سرعت بیشتری به پایان برساند.
با استفاده از این ماژول شما می توانید شبکه های عصبی بسازید همچنین برای این که بتواند مدل ها و یا مشتق گیری ها را انجام دهد باید به autograd توجه نماید زیرا این کار به آن بستگی دارد که شبکه ی عصبی دارای یک سری پارامتر هایی می باشد تا آن ها ازجاع داده شود که شامل:
برای یک بسته ی بهینه ساز تعریف می شوند که با استفاده از آن می توان وزن ها را به روز رسانی نمایند همچنین یا استفاده از آن می توانید الگوریتم های بهینه ساز را ایجاد نماید که بهترین آن در زمیکنه ساخت بهینه ساز adam می باشد که در بین دیگر الگوریتم ها محبوب واقع شده است.
هر دوی آن ها در زمینه ی ساخت شبکه عصبی کاربرد دارند که هر کدام شامل ویژگی های خاص خود می باشند که این سوال پیش می آید کدامیک از این ها می تواند کاربرد بیشتری داشته و بتواند بهتر به نیاز هایمان پاسخ داده و آن ها را حل نماید.
باید گفت هر دو یک مراحل مشترک دارند تا بتوانید آن را جهت ساخت شبکه عصبی از آن بهرمند شوید همچنین مهم نیست کدام را شروع می کنید مهم آن است که بتوانید مراحل را پیش رفته و خوب عمل نمایید ای مراحل شامل:
این مراحل مشابه می باشند که اگر چهارچوب آن را یاد بگیرید می توانید مدل شبکه عصبی خوبی را بسازید.
اگر بخواهید مدل شبکه عصبی ای که ساختید را به مرحله ی تولید و یا اجرا برسانید باید تحقیق نمایید زیرا رویکرد های مختلفی دارند برای مثال تنسورفلو کتابخانه ای می باشد که بسیار قوی و کارآمد است که از ویژگی های خاصی از جمله بصری و طیف کثیری در ارتباط با گزینه ها می باشد که باعث می شود عملکرد آن مدل بهتر شده و توسعه یابد و همچنین گزینه هایی برای حمایت خودکار از پلتفرم های مختلف را دارا می باشد اما پای تورچ چهارچوب نو پایی دارد که دارند بر روی آن تحقیقات لازم را انجام می دهند تا بتوانند بهترین ها را ارائه دهند اما بطچر کلی پای تورچ دارای انعطاف پزیری بالاتری نسبت به تنسورفلو دارد و می توان راحت تر آن را کنترل نمود.
هنوز هم تنسورفلو بیشتر از پاری تورچ محبوبیت دارد اما این امار در حال کم شدن می باشد اما بطور کل در بسیاری از مقالات و کنفرانس ها پای تورچ از تنسورفلو پیشی گرفته است.
این کتابخانه به کاربران این امکان را می دهد تا بتوانند لایه های مختلفی را ایجاد و توسعه دهند مثل: لایه ی پیچشی، لایه های بازگشتی، لایه های خطی که شما بسته به نوع کاری که می خواهید انجام دهید می توانید از آن ها استفاده نمایید.