تنسورفلو (Tensorflow) چیست؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تنسورفلو (Tensorflow) چیست؟ [بسته شد]

0 امتیاز
237 بازدید

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

 

Tensforflow,Deep Learning,Machine learning,تنسورفلو,یادگیری عمیق

 

مهمتر از همه این که می توان نمودار را به چند تکه شکست و آنها را به صورت موازی بر روی چند CPU یا GPU  اجرا کرد. تنسورفلو از محاسبات توزیع شده نیز پشتیبانی میکند به طوری که شما می توانید با تقسیم محاسبات در صدها سرور، شبکه های عصبی عظیم را روی مجموعه های آموزش بسیار بزرگ در مدت زمانی معقول آموزش دهید. TensorFlow می تواند یک شبکه با میلیون ها پارامتر را  روی یک مجموعه آموزشی متشکل از میلیاردها نمونه هر یک با میلیونها ویژگی، آموزش دهد. این جای تعجب ندارد، چرا که TensorFlow توسط تیم Google Brain توسعه داده شده و از قدرت بسیاری از سرویسهای بزرگ مقیاس گوگل، مانند Google Cloud Speech ، Google Photos وGoogle Search  بهره می­برد.

 

 

Tensforflow,Deep Learning,Machine learning,تنسورفلو,یادگیری عمیق

 

هنگامی که TensorFlow در ماه نوامبر سال 2015 منبع باز اعلام شد، تقریبا تعداد قابل توجهی کتابخانه معروف منبع باز برای یادگیری عمیق (شکل بالا) وجود داشت و با نگاهی عادلانه، بسیاری از ویژگی های تنسورفلو پیش از این در یک کتابخانه و یا دیگری وجود داشته است.

با این وجود، طراحی تمیز TensorFlow، مقیاس پذیری، انعطاف پذیری و اسناد جامع و کامل آن (بدون در نظر گرفتن نام گوگل) به سرعت آن را به بالای لیست رساند.

 

بسته شد با پیغام: آموزش
سوال شده اردیبهشت 3  بوسیله ی مصطفی ساتکی (امتیاز 16,267)   16 24 65

1 پاسخ

0 امتیاز

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

در اینجا به برخی نکات برجسته تنسورفلو اشاره می­کنیم:

این کتابخانه نه تنها روی ویندوز، لینوکس و MacOS اجرا می­شود، بلکه روی دستگاه های تلفن همراه، از جمله iOS و اندروید نیز قابل اجراست.

این کتابخانه یک API پایتون بسیار ساده به نام TF.Learn2 (tensorflow.contrib.learn) ارائه می­دهد که با Scikit-Learn سازگار است.  همانطور که خواهید دید، شما می توانید از آن برای آموزش انواع مختلف شبکه های عصبی فقط در چند خط کد استفاده کنید.

اینها قبلا یک پروژه مستقل به نام Scikit Flow (یا skflow) بود. این کتابخانه همچنین یک API ساده دیگر به نام TF-slim (tensorflow.contrib.slim برای ساده سازی build کردن، آموزش و ارزیابی شبکه های عصبی ارائه می دهد.  چند API سطح بالای دیگرر نیز مانند Keras یا Pretty Tensor ، به طور مستقل در ارتباط با تنسورفلو ، ساخته شده است.


اصلی ترین API پایتون  این کتابخانه، انعطاف پذیری بسیار بیشتری (البته با پیچیدگی بیشتر) ارائه می دهد که برای انواع محاسبات، در هر نوعی از  معماری شبکه های عصبی که فکرش را می کنید، مناسب است.

این کتابخانه شامل پیاده سازی C++ بسیار کارآمد عملگرهای یادگیری ماشین است که برای ساخت شبکه های عصبی به کار می­روند. همچنین یک C++ API  وجود دارد به خصوص برای کسانی که می خواهند عملیات high-performance  مختص به خودشان را تعریف کنند. این رابط کاربری چندین گره بهینه سازی پیشرفته، برای جستجوی تابع پارامتری ارائه می­دهد. های که به حداقل رساندن یک تابع هزینه. استفاده از این ویژگی بسیار آسان است زیرا تنسورفلو به طور خودکار هزینه مشتق گیری را با توجه به نوع تابع تعریف شده، کاهش می­دهد. این کار افتراق اتوماتیک (یا autodiff) نامیده می شود. این کتابخانه همچنین با یک ابزار تجسم فوق العاده به نام TensorBoard همراه است که اجازه می دهد نمودار  محاسباتی، منحنی های یادگیری و ... را مشاهده کنید و به جست و جو در میان آنها بپردازید.

گوگل همچنین یک سرویس ابری برای اجرای نمودارهای TensorFlow راه اندازی کرده است. در آخر باید گفت، این کتابخانه یک تیم اختصاصی از توسعه دهندگان پرشور و حرفه ای  و یک جامعه رو به رشد دارد که به بهبود آن کمک می­کنند و یکی از محبوب ترین پروژه های منبع باز درر GitHub است و هر روز پروژه های بزرگ بیشتر و بیشتری بر مبنای آن ساخته می­شود (برای نمونه، صفحه منابع را درر https://www.tensorflow.org یا https://github.com/jtoy/awesome-tensorflow چک کنید).

 

برای پرسیدن سوالات تخصصی، شما باید از http://stackoverflow.com استفاده کرده و سوال خود را با "tensorflow" تگ کنید. شما می توانید اشکالات و درخواستهای خاص خود را از طریق GitHub مطرح کنید. برای بحث کلی، به گروه گوگل بپیوندید.

پاسخ داده شده اردیبهشت 3 بوسیله ی مصطفی ساتکی (امتیاز 16,267)   16 24 65
...