به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

0 امتیاز

سلام

چندتا سوال داشتم ممنون میشم به سوالاتم جواب کامل بدید.

۱- فرضا یک مدل با تنسورفلو آموزش دادیم و فایل های ckpt , metadata , pb آنها را داریم حالا میخواهیم این را در production استفاده کنیم چند جا دیدم که از کتابخانه tensorflow serving استفاده شده بود میخاستم ببینم چه موقعی لازمه از این کتابخانه در محصول نهایی مون استفاده کنیم ؟ وقتی که میخاهیم latency کارمون را بیاریم پایین یا اینکه دلایل خاصی داره ؟ و اینکه همیشه در محصول نهایی از این کتابخانه باید استفاده بشود یا اینکه مواقعی که تعداد درخواست ها از کلایت بیشتر هست لازمه ؟

۲- آیا کار کردن با tensorflow serving برای تسک های کلاسیفیکیشن و دتشکن یا حتی text فرقی داره؟ منظورم اینکه فقط کافیه فایل های نهایی ترین شده را داشته باشیم؟

۳- اگر بجای این tensorflow serving به این صورت کار کنیم آیا ایرادی داره ؟ اگر نه . پس فرق با سروینگ چیه؟

......

model = None

.......

if name == '' __main:

global model

if model is None:

model.load_weight

۴- تفاوت این tensoflow serving با tensorflow c++ api چیه ؟ جایی دیدم که بجای سروینگ از این api استفاده شده بود؟

۵- برای مدل آموزش دیده شده کراس در production آیا راه حلی وجود دارد ؟ یعنی کاری معادل با tensorflow serving ؟ flask ؟با tensorflow serving نمیشه ؟ واین flask رو هم میشه برای مدل های تنسورفلو استفاده کرد ؟ این flask , tensorflow serving برتری نسبت به هم دارند؟
۶- اصلا هدف اصلی tensorflow serving چی هست آیا برای همه ی محصولات لازمه استفاده بشه ؟ مزیت هاش چیه؟
7- اگر میشود یک نمونه کد خوب برای کار با tensorflow serving قرار دهید.

سوال شده توسط (384 امتیاز)
ویرایش شده توسط

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام

1- فقط بحث latency نیست و کلی بحث دیگه مرتبط با production هست که serving سعی کرده هندل بکنه. از چیزهایی مثلا ثابت نگه داشتن interface و endpointها گرفته تا راحت کردن A/B testing و ...
یا مثلا بحث load balance و هندل کردن کرش سرویس ها و .... رو هم باید مدنظر داشت
خودتون می تونید همه این کارا رو بدون چیزهایی مثل serving و داکر و کوبر و .... بکنید اما کلا کلی وقت و هزینه هدر می ره تازه از هدف اصلی پروژتون هم منحرف می شید
البته همه این حرفا با فرضه اینه که پروژتون قراره توی productionی باشه که مثلا uptimeش مهمه یا درخواست هایی که بهش می خوره زیاده، ریسورس ها ممکنه کم و زیاد بشه و خلاصه چالش های production رو دارید و از فضای آزمایشگاهی اومدید بیرون
برای اطلاعات بیشتر می تونید این دو تا لینک رو ببینید که ساختار رو توضیح داده

https://github.com/tensorflow/serving


https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/architecture.md

2- در حالت کلی tf serving نسبت به مساله فرض خاصی نداره و حرفش اینه شما یه مدل به من بده من سرو می کنم. حالا مساله می تونه کلسیفیکیشن باشه با یه شبکه خیلی ساده یا seq2seq بوده یا mask rcnn داشتید و ....

3- این سوال هم بر میگرده به همون سوال اول که tf serving فقط کارش همین نیست که یه مدل بیاره بالا و اجراش کنه (مثل همون کدی که مثال زدید) و سعی کرده چالش های دیگه هم که توی production داریم رو هم در نظر بگیره

4 و 5 - در مورد تفاوت های c++ api و flask و رابطشون با tf serving فگر کنم چندتا مفهوم قاطی شده. باید گفت اینا هر کدوم یه تکنولوژی هستن با اهداف خودشون که می تونن کنار هم استفاده بشن. خیلی هم بسته به شرایط مساله داره. اما اینکه آیا این معادل اون یکی هست یا اینکه به جای یکی یکی دیگه رو استفاده کنیم بهتره یا نه در بعضی موارد معنی دار نیست در بقیه موارد هم بستگی به مساله داره. مثلا flask کلا یه وب فریم ورک روی پایتونه و در ذات کاری به جزئیات مساله ای که قراره روش پیاده کنید (مثلا حل یه مساله با یه شبکه عمیق) نداره.
برای اطلاعات بیشتر این لینک خیلی خوبه و انواع چیزها رو برای توی production بردن مدل های دیپ پوشش داده (کراس هم توش هست)

https://github.com/ahkarami/Deep-Learning-in-Production

6 - مرتبط با سوال 1

7 - نمونه کد خیلی زیاد هست و علاوه بر لینکی که توی سوال 4 و 5 گذاشتم، مثلا اینا هم هست:

https://medium.freecodecamp.org/how-to-deploy-an-object-detection-model-with-tensorflow-serving-d6436e65d1d9


https://towardsdatascience.com/deploying-keras-models-using-tensorflow-serving-and-flask-508ba00f1037

بگردید در رابطه با استفاده از داکر و کوبر توی فرایند هم پست های آموزشی هست.

پاسخ داده شده توسط (1.6k امتیاز)
انتخاب شده توسط
ممنون از توضیحات و لینک های خوبتون
مهندس جان میشه یک توضیح کامل و مفید در رابطه با داکر و کوبر توضیح بدید؟ م
خواهش می کنم
توضیح کاملش طولانیه (برای هر کدوم کلی کتاب هست) و منم در حد استفاده مقدماتی و کار راه بنداز بلدم. برای همین شما رو به سایتها و آموزش های خودشون ارجاع می دم.

برای داکر:
https://docs.docker.com/get-started

برای کوبر:
https://kubernetes.io/docs/tutorials

برای هر کدوم هم کتابهای آموزشی و کرس هم هست. هر چند که برای استفاده مقدماتی و برای شروع همون سایتهای خودشون هم کافی هستن
...