چرا مدل‌های بینایی در TensorFlow اهمیت دارند؟

مدل‌های بینایی در حوزه‌ی هوش مصنوعی به‌عنوان پایه‌ای برای کارهای تشخیص، طبقه‌بندی و درک تصویر به‌شمار می‌آیند. در طول سال‌ها، توسعه‌ی متنوع مدل‌های بُرم‌پایه‌دار در TensorFlow باعث رشد سریع و تعمیم‌پذیری فرایند توسعه و انتقال آن‌ها به سرویس‌های تولیدی شد.

نحوه آماده‌سازی مدل در Hugging Face

Hugging Face به‌صورت فعال به‌دست آوردن مجموعه‌های پیش‌آموزش‌یافته برای Vision Transformer، Masked Autoencoders و الگوریتم‌های مشابه ادامه می‌دهد. برای انتشار، ابتدا مدل را از مخزن transformers استخراج کرده و وزن‌های ماژول را به‌صورت فایل saved_model.pb ذخیره می‌کنیم.

انتشار مدل با TensorFlow Serving

TF Serving امکان ارائه‌ی یک نقطه‌ی پایانی REST یا gRPC را فراهم می‌آورد؛ در نتیجه اپلیکیشن‌های معلق می‌توانند به سرعت درخواست‌های تصویری را ارسال و پیش‌بینی‌های لازم را دریافت کنند. مراحل انتشار شامل تنظیم فایل 1.config، راه‌اندازی سرویس با Docker و پایگاه‌گذاری نمونه‌های تستی است.

دسترسی به مدل: REST و gRPC

به‌عنوان مثال، اجرای یک درخواست REST با curl باعث دریافت خروجی در قالب JSON می‌شود، در حالی که ورودی gRPC در قالب protobuf در زمان‌های سنگین تر درخواست مصرف می‌کند.

  • پیش‌پردازش تصاویر: تغییر اندازه، نرمالیزه و تبدیل به محدوده‌ی 0-1.
  • وارد کردن وزن‌ها: استفاده از tf.saved_model.load برای بارگذاری مدل.
  • ساخت فایل مدل: ساختار استاندارد assets و variables ضروری است.

پرسش‌های پرتکرار

TF Serving چیست؟

TF Serving یک سیستم میزبانی برای مدل‌های TensorFlow است که امکان انتشار مدل‌های پیش‌آموزش‌یافته را به صورت REST یا gRPC فراهم می‌آورد.

چه باری باید هنگام انتشار Vision Transformer در TF Serving رعایت کنم؟

مطمئن شوید که تصویر ورودی به‌صورت 3 بخش (ارتفاع، عرض، کانال) و در بازه‌ی [0,1] باشد، و مدل در مسیر <code>/models/viT</code> با شماره نسخه‌ی ۱ ذخیره شده باشد تا فرایند بارگذاری صحیح انجام شود.