TensorFlow Model Garden پیادهسازی بسیاری از مدلهای پیشرفتهی یادگیری ماشین (ML) را برای پردازش بینایی و زبان طبیعی (NLP) و همچنین ابزارهای گردش کار را ارائه میکند تا به شما امکان میدهد آن مدلها را به سرعت روی مجموعه دادههای استاندارد پیکربندی و اجرا کنید. خواه به دنبال معیاری برای عملکرد یک مدل شناخته شده باشید، نتایج تحقیقات اخیر منتشر شده را تأیید کنید، یا مدلهای موجود را گسترش دهید، باغ مدل میتواند به شما کمک کند تحقیقات و برنامههای کاربردی ML خود را به سمت جلو هدایت کنید.
باغ مدل شامل منابع زیر برای توسعه دهندگان یادگیری ماشین است:
- مدلهای رسمی بینایی و NLP که توسط مهندسین Google نگهداری میشوند
- مدل های تحقیقاتی منتشر شده به عنوان بخشی از مقالات تحقیقاتی ML
- چارچوب آزمایش آموزشی برای پیکربندی آموزش سریع و آشکار مدلهای رسمی
- عملیات تخصصی ML برای پردازش بینایی و زبان طبیعی (NLP)
- مدل مدیریت حلقه آموزشی با Orbit
این منابع برای استفاده با چارچوب TensorFlow Core و ادغام با پروژه های توسعه TensorFlow موجود شما ساخته شده اند. منابع مدل Garden نیز تحت یک مجوز منبع باز ارائه می شوند، بنابراین می توانید آزادانه مدل ها و ابزارها را گسترش و توزیع کنید.
مدلهای ML عملی برای آموزش و اجرا از نظر محاسباتی فشرده هستند و ممکن است به شتابدهندههایی مانند واحدهای پردازش گرافیکی (GPU) و واحدهای پردازش تانسور (TPU) نیاز داشته باشند. بیشتر مدلهای موجود در باغ مدل بر روی مجموعه دادههای بزرگ با استفاده از TPU آموزش داده شدند. با این حال، شما می توانید این مدل ها را بر روی پردازنده های GPU و CPU نیز آموزش دهید و اجرا کنید.
مدل های باغ
مدلهای یادگیری ماشینی در باغ مدل شامل کد کامل هستند، بنابراین میتوانید آنها را برای تحقیق و آزمایش آزمایش کنید، آموزش دهید یا دوباره آموزش دهید. باغ مدل شامل دو دسته اصلی از مدلها است: مدلهای رسمی و مدلهای تحقیقاتی .
مدل های رسمی
مخزن رسمی مدلها مجموعهای از مدلهای پیشرفته با تمرکز بر روی بینایی و پردازش زبان طبیعی (NLP) است. این مدل ها با استفاده از API های سطح بالا TensorFlow 2.x فعلی پیاده سازی می شوند. کتابخانههای مدل در این مخزن برای عملکرد سریع بهینهسازی شدهاند و بهطور فعال توسط مهندسان Google نگهداری میشوند. مدلهای رسمی شامل ابردادههای اضافی هستند که میتوانید برای پیکربندی سریع آزمایشها با استفاده از چارچوب آزمایشی آموزش باغ مدل استفاده کنید.
مدل های تحقیق
مخزن مدل های پژوهشی مجموعه ای از مدل هایی است که به عنوان منابع کد برای مقالات تحقیقاتی منتشر شده است. این مدل ها با استفاده از TensorFlow 1.x و 2.x پیاده سازی می شوند. کتابخانه های مدل در پوشه تحقیق توسط صاحبان کد و جامعه تحقیقاتی پشتیبانی می شوند.
چارچوب آزمایش آموزشی
چارچوب آزمایشی آموزش باغ مدل به شما امکان میدهد با استفاده از مدلهای رسمی و مجموعه دادههای استاندارد، آزمایشهای آموزشی را به سرعت جمعآوری و اجرا کنید. چارچوب آموزشی از ابرداده های اضافی همراه با مدل های رسمی باغ مدل استفاده می کند تا به شما امکان می دهد مدل ها را به سرعت با استفاده از یک مدل برنامه نویسی اعلامی پیکربندی کنید. میتوانید یک آزمایش آموزشی را با استفاده از دستورات پایتون در کتابخانه TensorFlow Model تعریف کنید یا آموزش را با استفاده از یک فایل پیکربندی YAML پیکربندی کنید، مانند این مثال .
چارچوب آموزشی از tfm.core.base_trainer.ExperimentConfig
به عنوان شیء پیکربندی استفاده می کند که شامل اشیاء پیکربندی سطح بالای زیر است:
-
runtime
: سخت افزار پردازش، استراتژی توزیع و سایر بهینه سازی های عملکرد را تعریف می کند -
task
: مدل، داده های آموزشی، تلفات و مقداردهی اولیه را تعریف می کند -
trainer
: بهینه ساز، حلقه های آموزشی، حلقه های ارزیابی، خلاصه ها و نقاط بازرسی را تعریف می کند.
برای مثال کامل با استفاده از چارچوب آزمایشی آموزش باغ مدل، به آموزش طبقه بندی تصاویر با باغ مدل مراجعه کنید. برای اطلاعات در مورد چارچوب آزمایش آموزشی، مستندات API مدلهای TensorFlow را بررسی کنید. اگر به دنبال راهحلی برای مدیریت حلقههای آموزشی برای آزمایشهای آموزشی مدل خود هستید، Orbit را بررسی کنید.
عملیات تخصصی ML
باغ مدل شامل بسیاری از عملیاتهای بینایی و NLP است که به طور خاص برای اجرای مدلهای پیشرفتهای طراحی شدهاند که به طور موثر بر روی GPU و TPU اجرا میشوند. اسناد API کتابخانه TensorFlow Models Vision را برای لیستی از عملیات دید تخصصی مرور کنید. اسناد TensorFlow Models NLP Library API را برای لیستی از عملیات NLP مرور کنید. این کتابخانهها همچنین شامل توابع ابزار اضافی هستند که برای پردازش دادههای بینایی و NLP، آموزش و اجرای مدل استفاده میشوند.
حلقه های آموزشی با Orbit
ابزار Orbit یک کتابخانه انعطافپذیر و سبک است که برای آسانتر کردن نوشتن حلقههای آموزشی سفارشی در TensorFlow 2.x طراحی شده است و با چارچوب آزمایشی آموزش Model Garden به خوبی کار میکند. Orbit وظایف آموزشی رایج مدل مانند ذخیره نقاط بازرسی، اجرای ارزیابی مدل و تنظیم خلاصه نویسی را انجام می دهد. این یکپارچه با tf.distribute
ادغام می شود و از اجرا بر روی انواع دستگاه های مختلف، از جمله سخت افزار CPU، GPU و TPU پشتیبانی می کند. ابزار Orbit نیز منبع باز است ، بنابراین می توانید نیازهای آموزشی مدل خود را گسترش دهید و با آن سازگار شوید.
شما معمولاً مدلهای TensorFlow را با نوشتن یک حلقه آموزشی سفارشی یا استفاده از تابع سطح بالا Keras Model.fit آموزش میدهید . برای مدلهای ساده، میتوانید یک حلقه آموزشی سفارشی را با روشهای TensorFlow سطح پایین مانند tf.GradientTape
یا tf.function
تعریف و مدیریت کنید. یا میتوانید از Keras Model.fit
سطح بالا استفاده کنید.
با این حال، اگر مدل شما پیچیده است و حلقه آموزشی شما به کنترل یا سفارشی سازی انعطاف پذیرتری نیاز دارد، باید از Orbit استفاده کنید. شما می توانید بیشتر حلقه آموزشی خود را با کلاس orbit.AbstractTrainer
یا orbit.StandardTrainer
تعریف کنید. درباره ابزار Orbit در اسناد Orbit API بیشتر بیاموزید.