6

मुझे एक प्रशिक्षित टेन्सफोर्लो मॉडल मिला है और मैं आरईएसटी एपीआई के साथ भविष्यवाणी विधि की सेवा करना चाहता हूं। मैं क्या सोच सकता हूं कि एक साधारण आरईएसटी एपीआई बनाने के लिए फ्लास्क का उपयोग करना है जो JSON इनपुट के रूप में प्राप्त करता है और फिर टेन्सफोर्लो में पूर्वानुमान विधि को कॉल करता है और उसके बाद अनुमानित परिणाम क्लाइंट पक्ष में वापस कर देता है।फ्लास्क का उपयोग कर आरईएसटी एपीआई के साथ प्रशिक्षित टेन्सफोर्लो मॉडल की सेवा करें?

मैं जानना चाहता हूं कि इस तरह विशेष रूप से उत्पादन वातावरण में ऐसा करने के लिए कोई चिंता है?

बहुत धन्यवाद!

+0

क्या आपको कोई सफलता मिली है? मैं करने के लिए उत्साहित हूँ। –

उत्तर

2

मेरे दिमाग में आने वाली पहली चिंता प्रदर्शन है।

टेंसरफ्लो टीम ने सर्वर/क्लाइंट उपयोग को काम किया है। आप tensorflow serving पर देखना चाहते हैं। डिफ़ॉल्ट रूप से, यह संचार प्रोटोकॉल के लिए जीआरपीसी का उपयोग करता है।

+1

मैं सहमत हूं लेकिन क्या आप जानते हैं कि हम कितना पीड़ित हैं? एक बार जब हम मॉडलों को पुनर्स्थापित करते हैं और उन्हें फ्लास्क सर्वर में पुन: उपयोग करते हैं, तो शायद यह बहुत ज्यादा चोट नहीं पहुंचाएगा। –

+0

@SungKim क्या आपका मतलब है कि आप वास्तव में फ्लास्क का उपयोग करना पसंद करते हैं? – user1515940

0

हम कार्य पर फ्लास्क + टेंसरफ्लो सेवा का उपयोग करते हैं। हमारा सेटअप मॉडल की सेवा करने का सबसे इष्टतम तरीका नहीं हो सकता है, लेकिन यह काम पूरा हो जाता है और यह अब तक हमारे लिए ठीक काम करता है।

  1. tfserving हमेशा के लिए ले जाता है क्योंकि निर्माण करने के लिए, हम एक डोकर छवि का निर्माण (नहीं GPU समर्थन या कुछ भी, लेकिन यह सिर्फ एक मॉडल की सेवा के लिए काम करता है और यह तेजी से और की सेवा की तुलना में बेहतर है:

    सेटअप निम्नलिखित है यह सीधे एक विशाल पायथन/फ्लास्क मोनोलाइट के भीतर से)। मॉडल सर्वर छवि यहां पाई जा सकती है: https://hub.docker.com/r/epigramai/model-server/

  2. फिर फ्लास्क का उपयोग एपीआई सेट करने के लिए किया जाता है। मॉडल सर्वर को अनुरोध भेजने के लिए हमें एक जीआरपी भविष्यवाणी क्लाइंट की आवश्यकता है, इसलिए हमने पाइथन में एक बनाया है जिसे हम सीधे फ्लास्क एपीआई, https://github.com/epigramai/tfserving_predict_client/ में आयात कर सकते हैं।

अच्छी बात यह है कि मॉडल फ्लास्क एपीआई एप्लिकेशन द्वारा परोसा जाता है। डॉकर छवि मॉडल सर्वर को आसानी से डॉकर कंटेनर के बजाय मशीन हार्डवेयर के लिए संकलित GPU पर चल रहे मॉडल सर्वर के साथ प्रतिस्थापित किया जा सकता है।

+0

क्या आप इस सेटअप के साथ देख रहे अनुमान के समय के बारे में कुछ भी कह सकते हैं? (और फ्लास्क एपीआई जो ओवरहेड जोड़ता है) – Mark

+0

हमारे उपयोग के मामले में यह ठीक काम करता है, लेकिन हमें बहुत से अनुरोध नहीं मिल रहे हैं, इसलिए हमारे उपयोग मामले में अनुमान से पहले एपीआई अनुरोधों को बैच करना "होना चाहिए" नहीं है। मैं कहूंगा कि यह सेटअप, मॉडल सर्वर पर अनुरोध भेजने में ओवरहेड के साथ, इस तरह के मोन्सोलाइट में टेंसफोर्लो और फ्लास्क का उपयोग करके स्मृति में मॉडलों को लोड करने के जितना तेज़ है। हमें यह सेटअप उपयोगी लगता है क्योंकि हम अजगर फ्लास्क ऐप से tensorflow जटिलता को हटा सकते हैं। हमने बहुत सारे परीक्षण नहीं किए हैं और अनुमानित समय की तुलना में, हमारे लिए महत्वपूर्ण लाभ चिंताओं को अलग करना है। – stianlp

संबंधित मुद्दे