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

تنسورفلو (Tensorflow) چیست؟

+1 امتیاز

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, 1396  بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
دوباره باز شد بهمن 13, 1401 بوسیله ی مصطفی ساتکی

3 پاسخ

+1 امتیاز

به طور خلاصه، 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, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
0 امتیاز

جهت دانلود کتاب در زمینه deep learning در کلیه فریم فورک ها از اینجا دانلودش کنید.

پاسخ داده شده خرداد 31, 1398 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
0 امتیاز
TensorFlow یک کتابخانه نرم افزار منبع باز برای یادگیری ماشینی و یادگیری عمیق است که توسط Google Brain Team توسعه یافته است. این سیستم در ابتدا توسط محققان و مهندسانی که روی تیم مغز گوگل در سازمان تحقیقاتی هوش ماشینی گوگل کار می‌کردند، به منظور انجام تحقیقات یادگیری ماشینی و شبکه‌های عصبی عمیق توسعه داده شد، اما این سیستم به اندازه‌ای عمومی است که در طیف گسترده‌ای از حوزه‌های دیگر قابل اجرا باشد. خوب.
 
TensorFlow یک پلت فرم منعطف و کارآمد برای آموزش و استقرار مدل‌های یادگیری ماشین، از مدل‌های رگرسیون خطی ساده تا شبکه‌های عصبی عمیق پیچیده، فراهم می‌کند. تعداد زیادی مدل یادگیری ماشینی از پیش ساخته شده و بهینه شده برای طیف وسیعی از کاربردها و همچنین ابزارهایی برای ساخت و آموزش مدل های سفارشی ارائه می کند.
 
TensorFlow برای اجرای کارآمد بر روی چندین پردازنده گرافیکی و در سیستم‌های توزیع‌شده در مقیاس بزرگ طراحی شده است که آن را به انتخابی محبوب برای آموزش مدل‌های یادگیری ماشینی بزرگ تبدیل می‌کند. می‌توان آن را بر روی پلتفرم‌های مختلفی از جمله رایانه‌های رومیزی، سرورها و دستگاه‌های تلفن همراه اجرا کرد که آن را به یک پلتفرم انعطاف‌پذیر و در دسترس برای طیف گسترده‌ای از کاربران و برنامه‌ها تبدیل می‌کند.
پاسخ داده شده بهمن 13, 1401 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
...