(function (s, e, n, d, er) { s['Sender'] = er; s[er] = s[er] || function () { (s[er].q = s[er].q || []).push(arguments) }, s[er].l = 1 * new Date(); var a = e.createElement(n), m = e.getElementsByTagName(n)[0]; a.async = 1; a.src = d; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://cdn.sender.net/accounts_resources/universal.js', 'sender'); sender('986212f6399684')
معرفی کتابخانه theano (تیانو) در پایتون

  این مقاله را میتوانید در مدت زمان 3 دقیقه مطالعه کنید   منتشر شده در تاریخ: آذر ۲۹ام, ۱۴۰۱   آخرین بروزرسانی: آذر ۲۹ام, ۱۴۰۱


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

 


بیشتر بخوانید: “یادگیری عمیق از گذشته تا امروز


 

کتابخانه Theano چیست؟

کتابخانه Theano یکی از کتابخانه‌های پایتون است که در میان برنامه‌نویسان به پدربزرگ کتابخانه‌های دیپ لرنینگ نیز مشهور است. گروه MILA (LISA سابق) کتابخانه Theano را در سال ۲۰۰۷ در دانشگاه مونترال در کبک کانادا توسعه دادند. نام این کتابخانه برگرفته از یک فیلسوف و ریاضی‌دان یونانی است که گفته می‌شود همسر فیثاغورث بوده است.
کتابخانه Theano این امکان را به شما می‌دهد تا بتوانید عبارات ریاضی شامل آرایه‌های چندبُعدی استفاده شده در ماشین لرنینگ را ساده‌تر و بهینه‌سازی کنید. Theano از اولین کتابخانه‌هایی بود که به این شکل (ساده‌سازی عبارات ریاضی) کار می‌کرد. از این رو برای بسیاری از برنامه‌نویسان به عنوان استانداردی در این نوع کتابخانه‌ها معرفی شد. کتابخانه Theano پس از انتشار علیرغم محبوبیت بسیار بالایی که به دست آورد، رقیبان بسیاری پیدا کرد؛ به طوری که آخرین نسخه از کتابخانه Theano 1.0.0 در سال ۲۰۱۷ منتشر و اعلام شد که دیگر ارتقا نخواهد یافت.

 

کتابخانه Theano و شبکه‌های عصبی

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

 


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


 

ویژگی‌های کتابخانه Theano

  • کتابحانه Theano در هر دو معماری CPU و GPU قابل اجراست به همین دلیل سرعت بالایی دارد.
  • کتابخانه Theano با کتابخانه‌های NumPy و برخی دیگر از کتابخانه‌های بومی پایتون سازگار است.
  • Theano محاسبات شما را به‌صورت داخلی سازماندهی و بهینه می‌کند. این باعث می‌شود محاسبات سریع‌تر اجرا شود و از نظر عددی پایدارتر باشد.
  • Theano سعی می کند برخی از عملیات را بدون کد C کامپایل کند تا بتواند محاسبات را سرعت بخشد.
  • Theano شامل واحد تست و اعتبارسنجی است که منجر به تشخیص انواع خطاها می‌شود.

یک مثال ساده

در کد زیر از کتابخانه Theano استفاده شده است.

import theano
from theano import tensor
a = tensor.dscalar()
b = tensor.dscalar()
c = a + b
f = theano.function([a,b], c)
d = f(1.5, 2.5)
print (d)

خروجی:

4.0

 


بیشتر بخوانید: “معرفی روش های یادگیری و الگوریتم های ماشین لرنینگ


 

جمع‌بندی

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

برای تهیه این مقاله از منابع زیر استفاده شده است:
projectpro.io

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

دوره تخصصی یادگیری ماشین

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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

شاید به این مطالب نیز علاقه مند باشید.

بهترین زبان های برنامه نویسی واقعیت مجازی

۶تا از بهترین زبان های برنامه نویسی واقعیت مجازی

کاربردهای واقعیت مجازی (Virtual Reality or VR) هرروز بیشتر می‌شود. شاید هنوز هم من و شما فکر می‌‌کنیم واقعیت مجازی فقط برای بازی‌های کامپیوتری است و کاربرد اصلی آن در…

دیتاست یادگیری ماشین استاندارد

دیتاست یادگیری ماشین استاندارد + ۵ مثال کامل در دیتاست های طبقه بندی باینری

بهتر است مبتدیان در یادگیری ماشین بر روی دیتاست‌های (مجموعه داده های) کوچک دنیای واقعی تمرین کنند. به اصطلاح مجموعه داده های یادگیری ماشین استاندارد شامل مشاهدات واقعی هستند و…

کتابخانه scipy چیست؟

SciPy، محبوب ترین کتابخانه ماشین لرنینگ

کار با داده‌ها و اعداد در علم آمار و ریاضیات، یا علوم دیگری که به آن مرتبط هستند، کاری است پیچیده و زمان‌گیر. زبان برنامه‌نویسی پایتون، برای آسان‌تر کردن فرآیند…

0 0 رای
امتیازدهی به مقاله
دنبال کردن
با خبر کردن از
guest
0 دیدگاه
بازخورد داخلی
دیدن همه نظرات

تاییدیه ها

تهران - ستارخان، خیابان کوثر دوم، پلاک ۱۰، واحد ۳

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

دوره تخصصی یادگیری ماشین

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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