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

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

تنسورفلو، یک کتابخانه ی متن باز یادگیری ماشین برای زبان پایتون( و زبان 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/

0/5 ( 0 نظر )
۴ دیدگاه
  • Avatar
    طیبه
    پاسخ
    ارسال شده در۳:۵۵ ب.ظ,اسفند ۲۷, ۱۳۹۷

    سلام خسته نباشید مدل سیستم من asus pro p2540 uv است آیا می توانم برای یادگیری عمیق از آن استفاده کنم؟

    • مدیر سایت
      ارسال شده در۵:۴۲ ب.ظ,فروردین ۲۱, ۱۳۹۸

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

  • Avatar
    نیلوفر
    پاسخ
    ارسال شده در۴:۳۱ ب.ظ,فروردین ۲۹, ۱۳۹۸

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

    • مدیر سایت
      ارسال شده در۹:۰۰ ب.ظ,اردیبهشت ۶, ۱۳۹۸

      تنسورفلو یک کتابخانه پایتون است و تفاوتی نمی کند از چه مفسری استفاده کنید، قاعدتا باید بتوانید در هر مفسری از آن استفاده کنید. بنده هم روی آناکوندا و هم روی ویژوال استودیو (با pip) تنسورفلو را نصب کرده ام، مشکلی ندارد:
      pip install tensorflow
      ضمنا Tensorboard هم جزء وابستگیهای تنسورفلو بوده و با دستور فوق نصب خواهد شد

ارسال یک نظر

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