آشنایی با کتابخانه ی تنسورفلو

آشنایی با کتابخانه ی تنسورفلو

تنسورفلو، یک کتابخانه ی متن باز یادگیری ماشین برای زبان پایتون( و زبان C++) است که توسط تیم Google Brain در نهم نوامبر ۲۰۱۵ معرفی شد. امروزه گوگل از این کتابخانه برای مواردی چون بازشناسی گفتار، Gmail، Google photo و سرویس های جست وجو استفاده می کند.از آنجایی که تنسور فلو بر اساس روش های مبتنی بر یادگیری عمیق طراحی شده است، قابلیت اجرای فعالیتهای پردازشی سنگین مثل روش های خوشه بندی، مدل های گرافیکی، مسائل بهینه سازی و …را دارا می باشد. از ویژگی های این کتابخانه می توان به مشتق گیری اتوماتیک( که نیاز به نوشتن کدهای دستی برای پیاده سازی الگوریتم پس انتشار را رفع می کند)، خاصیت موازی سازی اتوماتیک و بکار گیری GPU در پردازش های سنگین اشاره کرد.یکی از قابلیت های خوب تنسورفلو، خاصیتTensorBoard است. TensorBoard ابزاری است که به برنامه نویس، اجازه ی مصورسازی گراف محاسباتی را می دهد. گرافی که مبین مسیر و چارچوب کلی محاسباتی و رفتاری مسئله ی مورد بررسی است.تنسور فلو با تعریف کردن یک گراف عملیاتی داده ای کار می کند.گرافی که ضلع های آن، معرف داده ها و گره های آن معرف عملیات ها است. در تنسور فلو، برنامه نویس، با استفاده از تنسورها یک گراف محاسباتی را تعریف می کند.

نصب و راه اندازی

برای نصب این کتابخانه، یک راهنمای آموزشی که بطور پیوسته و مداوم بروز رسانی می شود، در آدرس زیر وجود دارد:

https://www.tensorflow.org/get_started

در ادامه یک مثال از کتابخانه ی تنسور فلو ارائه شده است.

رگریسیون خطی در تنسور فلو

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

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

در ادامه باید مدل خود را یا همان گراف مسئله را تعریف کنیم. برای این کار ابتدا نگهدارنده های ورودی ها و خروجی هایمان را تعریف می کنیم که برای پیاده سازی آن باید نوع داده ها(float32)، شکل داده ها را به صورت زیر تعریف کنیم:

در ادامه مدل رگریسیون خطی را تعریف می کنیم:

و در نهایت تابع هزینه و بهینه ساز خود را تعریف می نماییم:

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

نتیجه ی اعمال داده های آموزش به شبکه به صورت زیر است:

با استفاده از TensorBoard مدل ما به صورت زیر است:

منبع:

https://www.cs.toronto.edu/~frossard/post/tensorflow/

بدون دیدگاه

ارسال یک نظر

نظر
نام
ایمیل
وبسایت