TensorFlow Model Garden پیادهسازی بسیاری از مدلهای پیشرفتهی یادگیری ماشین (ML) را برای پردازش بینایی و زبان طبیعی (NLP) و همچنین ابزارهای گردش کار را ارائه میکند تا به شما امکان میدهد آن مدلها را به سرعت روی مجموعه دادههای استاندارد پیکربندی و اجرا کنید. خواه به دنبال معیاری برای عملکرد یک مدل شناخته شده باشید، نتایج تحقیقات اخیراً منتشر شده را تأیید کنید یا مدلهای موجود را گسترش دهید، باغ مدل میتواند به شما کمک کند تا تحقیقات و برنامههای کاربردی ML خود را به سمت جلو هدایت کنید.
باغ مدل شامل منابع زیر برای توسعه دهندگان یادگیری ماشین است:
- مدلهای رسمی بینایی و NLP که توسط مهندسان Google نگهداری میشوند
- مدل های تحقیقاتی منتشر شده به عنوان بخشی از مقالات تحقیقاتی ML
- چارچوب آزمایش آموزشی برای پیکربندی آموزش سریع و اعلامی مدلهای رسمی
- عملیات تخصصی ML برای پردازش بینایی و زبان طبیعی (NLP)
- مدل مدیریت حلقه آموزشی با Orbit
این منابع برای استفاده با چارچوب TensorFlow Core و ادغام با پروژه های توسعه TensorFlow موجود شما ساخته شده اند. منابع مدل Garden نیز تحت یک مجوز منبع باز ارائه می شوند، بنابراین شما می توانید آزادانه مدل ها و ابزارها را گسترش و توزیع کنید.
مدلهای ML عملی برای آموزش و اجرا از نظر محاسباتی فشرده هستند و ممکن است به شتابدهندههایی مانند واحدهای پردازش گرافیکی (GPU) و واحدهای پردازش تانسور (TPU) نیاز داشته باشند. بیشتر مدلهای موجود در باغ مدل بر روی مجموعه دادههای بزرگ با استفاده از TPU آموزش داده شدند. با این حال، میتوانید این مدلها را روی پردازندههای GPU و CPU نیز آموزش دهید و اجرا کنید.
مدل های باغ
مدلهای یادگیری ماشینی در باغ مدل شامل کد کامل هستند، بنابراین میتوانید آنها را برای تحقیق و آزمایش آزمایش کنید، آموزش دهید یا دوباره آموزش دهید. باغ مدل شامل دو دسته اصلی از مدلها است: مدلهای رسمی و مدلهای تحقیقاتی .
مدل های رسمی
مخزن Official Models مجموعه ای از مدل های پیشرفته است که بر روی بینایی و پردازش زبان طبیعی (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
دو گزینه پیش فرض برای آموزش مدل های TensorFlow وجود دارد:
- از عملکرد سطح بالا Keras Model.fit استفاده کنید. اگر مدل و روش آموزشی شما با مفروضات روش Keras'
Model.fit
(نزول گرادیان افزایشی در دستهای از دادهها) مطابقت دارد، این میتواند بسیار راحت باشد. - یک حلقه آموزشی سفارشی با keras یا بدون آن بنویسید. می توانید یک حلقه آموزشی سفارشی با روش های TensorFlow سطح پایین مانند
tf.GradientTape
یاtf.function
. با این حال، این رویکرد به کدهای دیگ بخار زیادی نیاز دارد و کاری برای ساده کردن آموزش توزیع شده انجام نمی دهد.
Orbit سعی می کند گزینه سومی را در بین این دو حد ارائه دهد.
Orbit یک کتابخانه انعطافپذیر و سبک است که برای آسانتر کردن نوشتن حلقههای آموزشی سفارشی در TensorFlow 2.x طراحی شده است و با چارچوب آزمایشی آموزش Model Garden به خوبی کار میکند. Orbit وظایف آموزشی رایج مدل مانند ذخیره نقاط بازرسی، اجرای ارزیابی مدل و تنظیم خلاصه نویسی را انجام می دهد. این یکپارچه با tf.distribute
ادغام می شود و از اجرا بر روی انواع دستگاه های مختلف از جمله سخت افزار CPU، GPU و TPU پشتیبانی می کند. ابزار Orbit نیز منبع باز است ، بنابراین می توانید نیازهای آموزشی مدل خود را گسترش دهید و با آن سازگار شوید.
راهنمای Orbit در اینجا موجود است.