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

ثبثبثب.gif

پای‌تورچ

پای تورچ (PyTorch) یک کتابخانه متن باز یادگیری ماشین برای پایتون براساس تورچ است که برای کاربردهایی مانند پردازش زبان طبیعی استفاده می‌شود. توسعه‌دهنده اصلی پای تورچ گروه پژوهش هوش مصنوعی فیسبوک است و نرم‌افزار Pyro شرکت اوبر برای برنامه نویسی احتمالاتی روی پای تورچ ساخته شده است.

اوپن‌سی‌وی

اوپن‌سی‌وی (OpenCV) یا همان Open Computer Vision Library مجموعه‌ای از کتابخانه‌های برنامه‌نویسی پردازش تصویر و یادگیری ماشین است. این مجموعه بیشتر بر پردازش تصویر بی درنگ تمرکز دارد. در ابتدا توسط اینتل ساخته و پشتیبانی می‌شد و ‌اکنون توسط Willow Garage و Itseez پشتیبانی می‌شود. استفاده از آن با پروانه فری بی‌اس‌دی آزاد است. اوپن سی وی کتاب‌خانه‌ای چندسکویی است و توسط سیستم عامل‌های ویندوز، لینوکس، مک اواس، آی او اِس و اندروید پشتیبانی می‌شود. همچنین دارای رابط برنامه‌نویسی به زبان‌های سی، سی++، پایتون، جاوا و متلب است. از کاربردهای این کتابخانه باید در ارتباط با فیلتر تصویر، سیستم تشخیص صورت، تشخیص حرکت، تعامل انسان و رایانه (HCI)، درک حرکت، شناسایی شی، تقسیم‌بندی و تشخیص، چشم‌انداز عمق استریو : ادراک عمق از 2 دوربین، ساختار از حرکت ( SFM )، ردیابی حرکت و واقعیت افزوده اشاره کرد.

پانداز

در برنامه‌نویسی دنیای داده‌ها و هوش مصنوعی، پانداز (Pandas‎) یک کتابخانه نرم‌افزاری نوشته شده برای زبان برنامه‌نویسی پایتون برای دستکاری و تجزیه و تحلیل داده‌ها است. به‌طور خاص، پانداز ساختارها و عملیات برای دستکاری جداول و سری‌های زمانی را ارایه می‌دهد. پانداز کتابخانه آزاد است و تحت مجوز بی‌اس‌دی منتشر شده‌است. نامش برگرفته از عبارت داده‌های پانل در اقتصادسنجی است که برای مشاهدات مجموعه داده‌های دوره‌های زمانی چندگانه است که برای موارد یکسان را شامل می‌شوند. این کتابخانه به دلیل داشتن ساختارهای داده‌ای مناسب برای تمیز کردن داده‌های خام (داده‌هایی که از منبع به دستِ کاربر می‌رسد) و ابزارهایی برای پر کردن داده‌های از دست رفته، به شدت میان دانشمندان داده محبوب شده‌است. ساده‌ترین روش برای نصب pandas، استفاده از توزیع آناکوندا است. Anaconda توزیعی برای پایتون است، که شامل بیش از ۴۰۰ بسته محبوب برای ریاضیات، مهندسی، تجزیه و تحلیل داده‌ها و غیره می‌باشد. برای دانلود این توزیع به صفحه دانلود آن مراجعه کنید و مطابق سیستم عامل خود آن را دانلود و نصب کنید. روش دیگر نصب pandas از طریق pip است. در خط فرمان عبارت زیر را وارد کنید:

pip install pandas

از مهم‌ترین قابلیت‌ها و امکاناتی که کتابخانه فوق ارائه می‌کند باید به ایجاد دیتافریم برای دستکاری داده‌ها با شاخص‌گذاری یکپارچه، ابزارهایی برای خواندن و نوشتن داده‌ها بین ساختارهای داده حافظه و فرمت‌های فایل مختلف، همترازی داده‌ها و مدیریت یکپارچه داده‌های از دست رفته، تغییرشکل و چرخش‌های مجموعه داده‌ها، برش توسط برچسب، نمایه فنسی، و خرد کردن داده‌های بزرگ، درج و حذف ستون ساختار داده،  گروه‌بندی و اعمال عملیات ترکیبی بر روی مجموعه‌ای از داده‌ها و ادغام و اتصال داده اشاره کرد. علاوه بر این، از نمایه‌سازی محوری سلسله مراتبی برای کار با داده‌های چند بعدی در ساختار داده‌های چند بعدی استفاده می‌کند. قابلیت تولید محدوده زمانی و تبدیل فرکانس، آمار پنجره متحرک، رگرسیون خطی پنجره متحرک، تغییر تاریخ و عقب‌ماندگی را دارد و امکان فیلتراسیون یا پالایش داده را فراهم می‌کند. بخش‌های اصلی این کتابخانه در زبان Cython یا زبان C نوشته شده‌است و به همین دلیل از نظر عملکرد کارایی بالایی دارد.

مت‌پلات

مت‌پلات (Matplotlib) یک کتابخانه برای رسم نمودار است که در در زبان برنامه‌نویسی پایتون مورد استفاده قرار می‌گیرد. رابط برنامه‌نویسی این کتابخانه به صورت شی‌گرا طراحی شده‌است و اجازه می‌دهد در نرم‌افزارهایی که از واسط‌های گرافیکی پراستفاده مانند WxPython، کیوت یا جی‌تی‌کی استفاده می‌کنند قابل استفاده باشد. مت‌پلات توسط جان هانتر نوشته و نگهداری می‌شود و تحت مجوزی شبیه به BSD انتشار یافته‌است. در حال حاضر این کتابخانه برای ورژن‌های ۲٫۴ تا ۲٫۶ پایتون پشتیبانی می‌شود. بسته pylab دو ماژول pyplot و NumPy را در یک فضای نام ارائه می‌دهد. واسط pylab باعث شده‌است تا کاربران باتجربهٔ Matlab بتوانند به راحتی از کتابخانه Matplotlib استفاده کنند، در نتیجه جایگزین مناسبی برای بسیاری از کاربران Matlab به عنوان ابزاری برای یادگیری محاسبات عددی و پردازش سیگنال است. از مزایای  مهم پایتون + NumPy + Matplotlib در مقابل Matlab می‌توان به این موارد اشاره کرد که بر پایه پایتون است که یک زبان برنامه‌نویسی مدرن و شی‌گرا با امکانات کامل و قابل استفاده در برنامه‌های بزرگ است، مناسب برای نوشتن اسکریپت‌های سریع و  اسکریپت‌های واسط دروازه مشترک است، آزاد و متن‌باز  است و از فرمت SVG پشتیبانی می‌کند. علاوه بر این، تعدادی جعبه‌ابزار برای اضافه کردن به کاربردهای Matplotlib وجود دارد. بعضی‌ها باید به صورت جداگانه دریافت شودند و بعضی درون Matplotlib موجود هستند، اما نیازمندی‌های جداگانه دارند.از جمله این ابزارها باید به Basemap برای تهیه نقشه با استفاده از پیش‌بینی‌های مختلف، Mplot3d برای نمودارهای سه‌بعدی، Excel tools که ابزاری برای تبادل اطلاعات با مایکروسافت اکسل است و GTK tools که واسطی برای استفاده از کتابخانه +GTK است اشاره کرد.

سای‌پای

سای‌پای (SciPy‎) یک کتابخانه متن‌باز پایتون است که برای محاسبات علمی و فنی به کار گرفته می‌شود.

کراس

کراس (Keras) یک کتابخانه متن‌باز شبکه عصبی است که به زبان پایتون نوشته شده است و بر روی تنسورفلو یا ثینو قابل اجرا است. این نرم‌افزار به منظور آزمایش کردن سریع یادگیری عمیق طراحی شده است و در طراحی آن بر روی کوچک، ماژولار و قابل گسترش بودن توجه شده است.

بایوپایتون

بایو پایتون (Biopython) یک مجموعه متن باز از ابزارهای غیر تجاری پایتون در زمینه زیست‌شناسی محاسباتی و بیو انفورماتیک است. این مجموعه توسط جمعی از توسعه‌دهندگان توسعه یافته ‌است. این مجموعه شامل کلاس‌هایی برای نمایش فرایندهای زیستی و نمایش ریاضی این فرایند هاست. این مجموعه قادر به خواندن و نوشتن قالب‌های متنوعی از فایل هاست. همچنین این مجموعه رابطی برای اتصال به پایگاه‌های داده ی زیستی برخط مانند پایگاه‌های NCBI را از طریق برنامه‌نویسی ارائه می‌کند. افزونه‌های متعددی، توانایی‌های بایوپایتون را به مواردی مثل هم ترازی فرایند، ساختار پروتئین، ژنتیک جمعیت، تکامل نژادی، شماهای فرایند و یادگیری ماشین توسعه داده‌اند. بیوپایتون یکی از پروژه‌های زیستی است که با هدف کاهش تکرار کد در زیست‌شناسی محاسباتی ایجاد شده‌است هر جا که ممکن بوده بایو پایتون از قالب و روش زبان برنامه‌سازی پایتون برای تعامل با کاربر استفاده کرده‌است تا استفاده از آن برای کاربران آشنا به این زبان برنامه‌سازی آشنا باشد. به عنوان مثال اشیای Seq و SeqRecord را می‌توان با تکه کردن آن‌ها و دقیقاً مثل stringها و listهای پایتون تغییر داد. این پروژه همچنین طوری طراحی شده که به لحاظ عملکرد مشابه سایر پروژه‌های زیستی مثل BioPerl باشد. بایوپایتون قادر است که بیشتر قالب‌های فایل رایج را برای هر کدام از زمینه‌های کاری اش بخواند و بنویسد. جواز این مجموعه با بسیاری از جوازهای دیگر نرم‌افزارها سازگار است که به بایوپایتون این امکان را می‌دهد که در طیف وسیعی از پروژه‌های نرم‌افزاری مورد استفاده قرار گیرد.

ثنیو

ثینو (Theano‎) یک کتابخانه محاسبات عددی برای پایتون است. در این کتابخانه، محاسبات با بیانی شبیه به نام‌پای بیان می‌شوند و برای اجرای بهینه چه در معماری‌های سی‌پی‌یو چه در جی‌پی‌یو کامپایل می‌شوند. ثینو یک پروژه متن‌باز است و به منظور استفاده توسط گروه یادگیری ماشین دانشگاه مونترآل توسعه داده شده است.

تنسورفلو

تنسورفلو (TensorFlow‎) یک کتابخانه نرم‌افزاری متن‌باز برای یادگیری ماشین در انواع مختلف وظایف مفهومی و زبان است که در حال حاضر توسط ۵۰ تیم تحقیقاتی و محصولات مختلف گوگل از جمله بازشناسی گفتار، جی‌میل، گوگل فوتوز و جستجو که بسیاری از آن‌ها سابقاً از دیست‌بلیف استفاده کرده بودند، استفاده می‌شود. تنسورفلو در آغاز توسط تیم گوگل برین مرکز تحقیقاتی گوگل به صورت داخلی استفاده می‌شد ولی بعدها در ۹ نوامبر ۲۰۱۵ تحت مجوز آپاچی منتشر شد. دلایل زیادی نظیر اینکه تصاویر طیف خاکستری در کامپیوتر معمولاً به صورت ماتریس‌های n∗m ذخیره می‌شوند (تصاویر رنگی با ابعاد بیشتر مانند n∗m∗3) و وقتی ما دسته‌ای از تصاویر داریم (مثلاً k تصویر)، مجبوریم ابعاد ماتریس‌ها را به صورت n∗m∗k (در تصاویر رنگی n∗m∗3∗k) افزایش دهیم، سبب شدند که در طراحی تنسورفلو از داده ساختار تنسور برای نگهداری مقادیر و نوع داده متغیرها استفاده شود. اما مهم‌ترین دلیل استفاده تنسورفلو از تنسورها، در حقیقت سهولت مدیریت وزن‌ها و مقادیر نورون‌ها در لایه‌های مختلف در شبکه‌های عصبی عمیق و یادگیری عمیق است.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟