2015-12-02 12 views
18

के माध्यम से एक टेन्सफोर्लो मॉडल को तैनात करने के लिए उदाहरण एक RESTful API के माध्यम से एक Tensorflow मॉडल को तैनात करने के लिए कोई उदाहरण कोड है? मैं कमांड लाइन प्रोग्राम और मोबाइल ऐप के लिए उदाहरण देखता हूं। क्या इस के लिए कोई ढांचा है या लोग सिर्फ मॉडल लोड करते हैं और इनपुट लेते हैं (जेएसओएन के माध्यम से कहते हैं) के लिए वेब फ्रेमवर्क (फ्लास्क की तरह) के माध्यम से पूर्वानुमान विधि का पर्दाफाश करते हैं और प्रतिक्रिया वापस करते हैं? ढांचे के माध्यम से मेरा मतलब है कि भविष्यवाणी के अनुरोधों की बड़ी संख्या के लिए स्केलिंग। बेशक मॉडल अपरिवर्तनीय हैं क्योंकि हम अपने भविष्यवाणी सर्वर के कई उदाहरण लॉन्च कर सकते हैं और इसे लोड बैलेंसर (जैसे हैप्रोक्सी) के पीछे रख सकते हैं। मेरा सवाल यह है कि, क्या लोग इसके लिए कुछ ढांचे का उपयोग कर रहे हैं या इसे स्क्रैच से कर रहे हैं, या शायद यह पहले से ही टेन्सफोर्लो में उपलब्ध है और मैंने इसे देखा नहीं है।एक रीस्टफुल एपीआई

+0

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

उत्तर

17

TensorFlow Serving मशीन सीखने के मॉडल के लिए एक उच्च प्रदर्शन, ओपन सोर्स सर्विसिंग सिस्टम है, जो उत्पादन वातावरण के लिए डिज़ाइन किया गया है और टेंसरफ्लो के लिए अनुकूलित है। प्रारंभिक रिलीज में gRPC के साथ बनाए गए उदाहरण हैं, लेकिन आप अपनी जरूरतों के अनुसार एक विश्वसनीय API के साथ फ्रंट-एंड (नीचे दिए गए आरेख में "क्लाइंट" के रूप में दर्शाए गए) को आसानी से बदल सकते हैं।

enter image description here

जल्दी से आरंभ करने के लिए, tutorial की जाँच करें।

22

https://github.com/sugyan/tensorflow-mnist फ्लास्क का उपयोग करके और पूर्व-प्रशिक्षित मोड (पुनर्स्थापित) लोड करके एक साधारण restAPI उदाहरण दिखाता है।

@app.route('/api/mnist', methods=['POST']) 
def mnist(): 
    input = ((255 - np.array(request.json, dtype=np.uint8))/255.0).reshape(1, 784) 
    output1 = simple(input) 
    output2 = convolutional(input) 
    return jsonify(results=[output1, output2]) 

इसके अलावा, https://tensorflow-mnist.herokuapp.com/ पर ऑनलाइन डेमो देखें। ऐसा लगता है कि एपीआई पर्याप्त तेज़ है।

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