Interpreter

सार्वजनिक अंतिम श्रेणी दुभाषिया

TensorFlow Lite के साथ मॉडल अनुमान को चलाने के लिए ड्राइवर वर्ग।

नोट: यदि आपको नीचे दी गई किसी भी "प्रायोगिक" एपीआई सुविधाओं तक पहुंच की आवश्यकता नहीं है, तो सीधे इंटरप्रेटर का उपयोग करने के बजाय इंटरप्रेटरएपीआई और इंटरप्रेटरफैक्ट्री का उपयोग करना पसंद करें।

एक Interpreter एक पूर्व-प्रशिक्षित टेन्सरफ्लो लाइट मॉडल को एनकैप्सुलेट करता है, जिसमें मॉडल अनुमान के लिए संचालन निष्पादित किया जाता है।

उदाहरण के लिए, यदि कोई मॉडल केवल एक इनपुट लेता है और केवल एक आउटपुट लौटाता है:

try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
   interpreter.run(input, output);
 }
 

यदि कोई मॉडल एकाधिक इनपुट या आउटपुट लेता है:

Object[] inputs = {input0, input1, ...};
 Map<Integer, Object> map_of_indices_to_outputs = new HashMap<>();
 FloatBuffer ith_output = FloatBuffer.allocateDirect(3 * 2 * 4);  // Float tensor, shape 3x2x4.
 ith_output.order(ByteOrder.nativeOrder());
 map_of_indices_to_outputs.put(i, ith_output);
 try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
   interpreter.runForMultipleInputsOutputs(inputs, map_of_indices_to_outputs);
 }
 

यदि कोई मॉडल स्ट्रिंग टेंसर लेता है या उत्पन्न करता है:

String[] input = {"foo", "bar"};  // Input tensor shape is [2].
 String[][] output = new String[3][2];  // Output tensor shape is [3, 2].
 try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
   interpreter.runForMultipleInputsOutputs(input, output);
 }
 

ध्यान दें कि आकार [] और आकार [1] के बीच अंतर है। स्केलर स्ट्रिंग टेंसर आउटपुट के लिए:

String[] input = {"foo"};  // Input tensor shape is [1].
 ByteBuffer outputBuffer = ByteBuffer.allocate(OUTPUT_BYTES_SIZE);  // Output tensor shape is [].
 try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
   interpreter.runForMultipleInputsOutputs(input, outputBuffer);
 }
 byte[] outputBytes = new byte[outputBuffer.remaining()];
 outputBuffer.get(outputBytes);
 // Below, the `charset` can be StandardCharsets.UTF_8.
 String output = new String(outputBytes, charset);
 

टोको के साथ TensorFlow मॉडल को TensorFlowLite मॉडल में परिवर्तित करते समय इनपुट और आउटपुट के ऑर्डर निर्धारित किए जाते हैं, जैसे कि इनपुट के डिफ़ॉल्ट आकार होते हैं।

जब इनपुट (बहु-आयामी) सरणियों के रूप में प्रदान किए जाते हैं, तो संबंधित इनपुट टेंसर को उस सरणी के आकार के अनुसार अंतर्निहित रूप से आकार दिया जाएगा। जब इनपुट Buffer प्रकार के रूप में प्रदान किए जाते हैं, तो कोई अंतर्निहित आकार परिवर्तन नहीं किया जाता है; कॉल करने वाले को यह सुनिश्चित करना होगा कि Buffer बाइट का आकार या तो संबंधित टेंसर से मेल खाता है, या वे पहले resizeInput(int, int[]) के माध्यम से टेंसर का आकार बदलते हैं। टेन्सर आकार और प्रकार की जानकारी Tensor वर्ग के माध्यम से प्राप्त की जा सकती है, जो getInputTensor(int) और getOutputTensor(int) के माध्यम से उपलब्ध है।

चेतावनी: Interpreter उदाहरण थ्रेड-सुरक्षित नहीं हैं। एक Interpreter के पास ऐसे संसाधन होते हैं जिन्हें close() का आह्वान करके स्पष्ट रूप से मुक्त किया जाना चाहिए

TFLite लाइब्रेरी NDK API 19 के विरुद्ध बनाई गई है। यह 19 से नीचे के Android API स्तरों के लिए काम कर सकती है, लेकिन इसकी गारंटी नहीं है।

नेस्टेड क्लासेस

कक्षा दुभाषिया.विकल्प रनटाइम दुभाषिया व्यवहार को नियंत्रित करने के लिए एक विकल्प वर्ग।

सार्वजनिक निर्माता

दुभाषिया ( फ़ाइल मॉडलफ़ाइल)
एक Interpreter आरंभ करता है।
दुभाषिया ( फ़ाइल मॉडलफ़ाइल, दुभाषिया.विकल्प विकल्प)
एक Interpreter आरंभ करता है और दुभाषिया व्यवहार को अनुकूलित करने के लिए विकल्प निर्दिष्ट करता है।
दुभाषिया ( बाइटबफ़र बाइटबफ़र)
एक मॉडल फ़ाइल के ByteBuffer के साथ एक Interpreter प्रारंभ करता है।
दुभाषिया ( बाइटबफ़र बाइटबफ़र, दुभाषिया.विकल्प विकल्प)
एक मॉडल फ़ाइल के ByteBuffer और कस्टम Interpreter.Options के एक सेट के साथ एक Interpreter प्रारंभ करता है।

सार्वजनिक तरीके

खालीपन
आबंटितटेन्सर ()
यदि आवश्यक हो, तो सभी टेंसरों के लिए आवंटन को स्पष्ट रूप से अद्यतन करता है।
खालीपन
बंद करना ()
InterpreterApi इंस्टेंस से जुड़े संसाधन जारी करें।
int यहाँ
getInputIndex ( स्ट्रिंग opName)
इनपुट का ऑप नाम दिए गए इनपुट का सूचकांक प्राप्त करता है।
टेन्सर
getInputTensor (int इनपुट इंडेक्स)
प्रदान किए गए इनपुट इंडेक्स के साथ टेंसर को संबद्ध करता है।
int यहाँ
getInputTensorCount ()
इनपुट टेंसर की संख्या प्राप्त करें.
टेन्सर
getInputTensorFromSignature ( स्ट्रिंग इनपुटनाम, स्ट्रिंग सिग्नेचरकी)
प्रदान किए गए इनपुट नाम और हस्ताक्षर विधि नाम के साथ टेंसर को संबद्ध करता है।
लंबा
getLastNativeInferenceDuration नैनोसेकंड ()
मूल अनुमान समय लौटाता है।
int यहाँ
getOutputIndex ( स्ट्रिंग opName)
आउटपुट का ऑप नाम दिए गए आउटपुट का इंडेक्स प्राप्त करता है।
टेन्सर
getOutputTensor (int आउटपुट इंडेक्स)
प्रदान किए गए आउटपुट इंडेक्स के साथ टेंसर को संबद्ध करता है।
int यहाँ
getOutputTensorCount ()
आउटपुट टेंसर की संख्या प्राप्त करें।
टेन्सर
getOutputTensorFromSignature ( स्ट्रिंग आउटपुटनाम, स्ट्रिंग सिग्नेचरकी)
विशिष्ट हस्ताक्षर विधि में दिए गए आउटपुट नाम के साथ टेंसर को संबद्ध करता है।
डोरी[]
getSignatureInputs ( स्ट्रिंग सिग्नेचरकी)
विधि signatureKey के लिए सिग्नेचरडिफ्स इनपुट की सूची प्राप्त करता है।
डोरी[]
getSignatureKeys ()
मॉडल में उपलब्ध सिग्नेचरडिफ निर्यातित विधि नामों की सूची प्राप्त करता है।
डोरी[]
getSignatureOutputs ( स्ट्रिंग सिग्नेचरकी)
विधि signatureKey के लिए सिग्नेचरडिफ आउटपुट की सूची प्राप्त करता है।
खालीपन
रीसेटवेरिएबलटेन्सर्स ()
उन्नत: सभी वेरिएबल टेंसर को डिफ़ॉल्ट मान पर रीसेट करता है।
खालीपन
resizeInput (int idx, int[] dims, बूलियन सख्त)
मूल मॉडल के idx-वें इनपुट का आकार दिए गए डिम्स में बदलता है।
खालीपन
आकार बदलेंइनपुट (int idx, int[] dims)
मूल मॉडल के idx-वें इनपुट का आकार दिए गए डिम्स में बदलता है।
खालीपन
चलाएँ ( ऑब्जेक्ट इनपुट, ऑब्जेक्ट आउटपुट)
यदि मॉडल केवल एक इनपुट लेता है, और केवल एक आउटपुट प्रदान करता है, तो मॉडल अनुमान चलाता है।
खालीपन
runForMultipleInputsOutputs ( ऑब्जेक्ट[] इनपुट, मैप < इंटेगर , ऑब्जेक्ट > आउटपुट)
यदि मॉडल एकाधिक इनपुट लेता है, या एकाधिक आउटपुट देता है तो मॉडल अनुमान चलाता है।
खालीपन
रनसिग्नेचर ( मैप < स्ट्रिंग , ऑब्जेक्ट > इनपुट, मैप < स्ट्रिंग , ऑब्जेक्ट > आउटपुट)
runSignature(Map, Map, String) के समान, लेकिन सिग्नेचरकी पास करने की आवश्यकता नहीं है, यह मानते हुए कि मॉडल में एक सिग्नेचरडिफ है।
खालीपन
रनसिग्नेचर ( मैप < स्ट्रिंग , ऑब्जेक्ट > इनपुट, मैप < स्ट्रिंग , ऑब्जेक्ट > आउटपुट, स्ट्रिंग सिग्नेचरकी)
signatureKey के माध्यम से प्रदान किए गए सिग्नेचरडिफ के आधार पर मॉडल अनुमान चलाता है।
खालीपन
सेटरद्द (बूलियन रद्द)
उन्नत: run(Object, Object) कॉल के बीच में अनुमान को बाधित करता है।

विरासत में मिली विधियाँ

सार्वजनिक निर्माता

सार्वजनिक दुभाषिया ( फ़ाइल मॉडलफ़ाइल)

एक Interpreter आरंभ करता है।

पैरामीटर
मॉडलफ़ाइल पूर्व-प्रशिक्षित TF लाइट मॉडल की फ़ाइल।
फेंकता
अवैध तर्क अपवाद यदि modelFile वैध TensorFlow Lite मॉडल को एनकोड नहीं करता है।

सार्वजनिक दुभाषिया ( फ़ाइल मॉडलफ़ाइल, दुभाषिया.विकल्प विकल्प)

एक Interpreter आरंभ करता है और दुभाषिया व्यवहार को अनुकूलित करने के लिए विकल्प निर्दिष्ट करता है।

पैरामीटर
मॉडलफ़ाइल पूर्व-प्रशिक्षित TF लाइट मॉडल की एक फ़ाइल
विकल्प दुभाषिया व्यवहार को अनुकूलित करने के लिए विकल्पों का एक सेट
फेंकता
अवैध तर्क अपवाद यदि modelFile वैध TensorFlow Lite मॉडल को एनकोड नहीं करता है।

सार्वजनिक दुभाषिया ( बाइटबफ़र बाइटबफ़र)

एक मॉडल फ़ाइल के ByteBuffer के साथ एक Interpreter प्रारंभ करता है।

Interpreter के निर्माण के बाद बाइटबफ़र को संशोधित नहीं किया जाना चाहिए। ByteBuffer या तो एक MappedByteBuffer हो सकता है जो एक मॉडल फ़ाइल को मेमोरी-मैप करता है, या नेटिवऑर्डर () का एक सीधा ByteBuffer सकता है जिसमें एक मॉडल की बाइट्स सामग्री होती है।

पैरामीटर
बाइटबफ़र
फेंकता
अवैध तर्क अपवाद यदि byteBuffer MappedByteBuffer नहीं है और न ही नेटिवऑर्डर का प्रत्यक्ष ByteBuffer

सार्वजनिक दुभाषिया ( बाइटबफ़र बाइटबफ़र, दुभाषिया.विकल्प विकल्प)

एक मॉडल फ़ाइल के ByteBuffer और कस्टम Interpreter.Options के एक सेट के साथ एक Interpreter प्रारंभ करता है।

Interpreter के निर्माण के बाद ByteBuffer संशोधित नहीं किया जाना चाहिए। ByteBuffer या तो एक MappedByteBuffer हो सकता है जो एक मॉडल फ़ाइल को मेमोरी-मैप करता है, या नेटिवऑर्डर () का एक सीधा ByteBuffer सकता है जिसमें एक मॉडल की बाइट्स सामग्री होती है।

पैरामीटर
बाइटबफ़र
विकल्प
फेंकता
अवैध तर्क अपवाद यदि byteBuffer MappedByteBuffer नहीं है और न ही नेटिवऑर्डर का प्रत्यक्ष ByteBuffer

सार्वजनिक तरीके

सार्वजनिक शून्य आवंटनटेन्सर्स ()

यदि आवश्यक हो, तो सभी टेंसरों के लिए आवंटन को स्पष्ट रूप से अद्यतन करता है।

यह दिए गए अनुसार इनपुट टेंसर आकार(आकारों) का उपयोग करके आश्रित टेंसर के लिए आकार और मेमोरी आवंटन का प्रचार करेगा।

नोट: यह कॉल *पूरी तरह से वैकल्पिक* है। यदि किसी इनपुट टेंसर का आकार बदल दिया गया है तो निष्पादन के दौरान टेंसर आवंटन स्वचालित रूप से हो जाएगा। यह कॉल ग्राफ़ को निष्पादित करने से पहले किसी भी आउटपुट टेंसर के लिए आकार निर्धारित करने में सबसे उपयोगी है, उदाहरण के लिए,

 interpreter.resizeInput(0, new int[]{1, 4, 4, 3}));
 interpreter.allocateTensors();
 FloatBuffer input = FloatBuffer.allocate(interpreter.getInputTensor(0).numElements());
 // Populate inputs...
 FloatBuffer output = FloatBuffer.allocate(interpreter.getOutputTensor(0).numElements());
 interpreter.run(input, output)
 // Process outputs...

ध्यान दें: कुछ ग्राफ़ में गतिशील रूप से आकार के आउटपुट होते हैं, ऐसी स्थिति में आउटपुट आकार तब तक पूरी तरह से प्रसारित नहीं हो सकता जब तक कि अनुमान निष्पादित नहीं हो जाता।

सार्वजनिक शून्य बंद करें ()

InterpreterApi इंस्टेंस से जुड़े संसाधन जारी करें।

सार्वजनिक int getInputIndex ( स्ट्रिंग opName)

इनपुट का ऑप नाम दिए गए इनपुट का सूचकांक प्राप्त करता है।

पैरामीटर
opName

सार्वजनिक टेंसर getInputTensor (int इनपुट इंडेक्स)

प्रदान किए गए इनपुट इंडेक्स के साथ टेंसर को संबद्ध करता है।

पैरामीटर
इनपुटइंडेक्स

सार्वजनिक int getInputTensorCount ()

इनपुट टेंसर की संख्या प्राप्त करें.

सार्वजनिक टेंसर getInputTensorFromSignature ( स्ट्रिंग इनपुटनाम, स्ट्रिंग हस्ताक्षरकुंजी)

प्रदान किए गए इनपुट नाम और हस्ताक्षर विधि नाम के साथ टेंसर को संबद्ध करता है।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
इनपुटनाम हस्ताक्षर में इनपुट नाम.
हस्ताक्षरकुंजी यदि मॉडल में एक हस्ताक्षर है तो सिग्नेचरडिफ की पहचान करने वाली हस्ताक्षर कुंजी शून्य हो सकती है।
फेंकता
अवैध तर्क अपवाद यदि inputName या signatureKey शून्य या खाली है, या अमान्य नाम प्रदान किया गया है।

सार्वजनिक लंबा getLastNativeInferenceDurationNanoSecond ()

मूल अनुमान समय लौटाता है।

सार्वजनिक int getOutputIndex ( स्ट्रिंग opName)

आउटपुट का ऑप नाम दिए गए आउटपुट का इंडेक्स प्राप्त करता है।

पैरामीटर
opName

सार्वजनिक टेंसर getOutputTensor (int आउटपुट इंडेक्स)

प्रदान किए गए आउटपुट इंडेक्स के साथ टेंसर को संबद्ध करता है।

नोट: आउटपुट टेंसर विवरण (उदाहरण के लिए, आकार) अनुमान निष्पादित होने तक पूरी तरह से पॉप्युलेट नहीं किया जा सकता है। यदि आपको अनुमान चलाने से *पहले* अद्यतन विवरण की आवश्यकता है (उदाहरण के लिए, इनपुट टेंसर का आकार बदलने के बाद, जो आउटपुट टेंसर आकार को अमान्य कर सकता है), आवंटन और आकार प्रसार को स्पष्ट रूप से ट्रिगर करने के लिए allocateTensors() का उपयोग करें। ध्यान दें कि, आउटपुट आकार वाले ग्राफ़ के लिए जो इनपुट *मान* पर निर्भर हैं, आउटपुट आकार अनुमान चलने तक पूरी तरह से निर्धारित नहीं किया जा सकता है।

पैरामीटर
आउटपुटइंडेक्स

सार्वजनिक int getOutputTensorCount ()

आउटपुट टेंसर की संख्या प्राप्त करें।

सार्वजनिक टेंसर getOutputTensorFromSignature ( स्ट्रिंग आउटपुटनाम, स्ट्रिंग हस्ताक्षरकुंजी)

विशिष्ट हस्ताक्षर विधि में दिए गए आउटपुट नाम के साथ टेंसर को संबद्ध करता है।

नोट: आउटपुट टेंसर विवरण (उदाहरण के लिए, आकार) अनुमान निष्पादित होने तक पूरी तरह से पॉप्युलेट नहीं किया जा सकता है। यदि आपको अनुमान चलाने से *पहले* अद्यतन विवरण की आवश्यकता है (उदाहरण के लिए, इनपुट टेंसर का आकार बदलने के बाद, जो आउटपुट टेंसर आकार को अमान्य कर सकता है), आवंटन और आकार प्रसार को स्पष्ट रूप से ट्रिगर करने के लिए allocateTensors() का उपयोग करें। ध्यान दें कि, आउटपुट आकार वाले ग्राफ़ के लिए जो इनपुट *मान* पर निर्भर हैं, आउटपुट आकार अनुमान चलने तक पूरी तरह से निर्धारित नहीं किया जा सकता है।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
आउटपुटनाम हस्ताक्षर में आउटपुट नाम.
हस्ताक्षरकुंजी यदि मॉडल में एक हस्ताक्षर है तो सिग्नेचरडिफ की पहचान करने वाली हस्ताक्षर कुंजी शून्य हो सकती है।
फेंकता
अवैध तर्क अपवाद यदि outputName या signatureKey शून्य या खाली है, या अमान्य नाम प्रदान किया गया है।

सार्वजनिक स्ट्रिंग[] getSignatureInputs ( स्ट्रिंग सिग्नेचरकी)

विधि signatureKey के लिए सिग्नेचरडिफ्स इनपुट की सूची प्राप्त करता है।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
हस्ताक्षरकुंजी

सार्वजनिक स्ट्रिंग[] getSignatureKeys ()

मॉडल में उपलब्ध सिग्नेचरडिफ निर्यातित विधि नामों की सूची प्राप्त करता है।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

सार्वजनिक स्ट्रिंग[] getSignatureOutputs ( स्ट्रिंग सिग्नेचरकी)

विधि signatureKey के लिए सिग्नेचरडिफ आउटपुट की सूची प्राप्त करता है।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
हस्ताक्षरकुंजी

सार्वजनिक शून्य रीसेटवेरिएबलटेन्सर्स ()

उन्नत: सभी वेरिएबल टेंसर को डिफ़ॉल्ट मान पर रीसेट करता है।

यदि एक वैरिएबल टेंसर में कोई संबद्ध बफर नहीं है, तो इसे शून्य पर रीसेट कर दिया जाएगा।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

सार्वजनिक शून्य आकार इनपुट (int idx, int[] dims, बूलियन सख्त)

मूल मॉडल के idx-वें इनपुट का आकार दिए गए डिम्स में बदलता है।

जब `सख्त` सत्य होता है, तो केवल अज्ञात आयामों का आकार बदला जा सकता है। `Tensor.shapeSignature()` द्वारा लौटाए गए सरणी में अज्ञात आयामों को `-1` के रूप में दर्शाया गया है।

पैरामीटर
आईडीएक्स
धुंधली हो जाती है
कठोर

सार्वजनिक शून्य आकार इनपुट (int idx, int[] dims)

मूल मॉडल के idx-वें इनपुट का आकार दिए गए डिम्स में बदलता है।

पैरामीटर
आईडीएक्स
धुंधली हो जाती है

सार्वजनिक शून्य रन ( ऑब्जेक्ट इनपुट, ऑब्जेक्ट आउटपुट)

यदि मॉडल केवल एक इनपुट लेता है, और केवल एक आउटपुट प्रदान करता है, तो मॉडल अनुमान चलाता है।

चेतावनी: यदि Buffer (अधिमानतः प्रत्यक्ष, लेकिन आवश्यक नहीं) का उपयोग इनपुट/आउटपुट डेटा प्रकार के रूप में किया जाता है तो एपीआई अधिक कुशल है। कृपया बेहतर प्रदर्शन के लिए आदिम डेटा को फीड करने और लाने के लिए Buffer उपयोग करने पर विचार करें। निम्नलिखित कंक्रीट Buffer प्रकार समर्थित हैं:

  • ByteBuffer - किसी भी अंतर्निहित आदिम टेन्सर प्रकार के साथ संगत।
  • FloatBuffer - फ्लोट टेंसर के साथ संगत।
  • IntBuffer - int32 Tensors के साथ संगत।
  • LongBuffer - int64 टेंसर के साथ संगत।
ध्यान दें कि बूलियन प्रकार केवल सरणियों के रूप में समर्थित हैं, Buffer एस या स्केलर इनपुट के रूप में नहीं।

पैरामीटर
इनपुट एक सरणी या बहुआयामी सरणी, या इंट, फ्लोट, लॉन्ग और बाइट सहित आदिम प्रकारों का एक Buffer । आदिम प्रकारों के लिए बड़े इनपुट डेटा को पास करने के लिए Buffer पसंदीदा तरीका है, जबकि स्ट्रिंग प्रकारों के लिए (बहु-आयामी) सरणी इनपुट पथ का उपयोग करने की आवश्यकता होती है। जब Buffer उपयोग किया जाता है, तो मॉडल अनुमान पूरा होने तक इसकी सामग्री अपरिवर्तित रहनी चाहिए, और कॉल करने वाले को यह सुनिश्चित करना होगा कि Buffer उचित पढ़ने की स्थिति में है। एक null मान की अनुमति केवल तभी दी जाती है जब कॉल करने वाला एक Delegate उपयोग कर रहा है जो बफर हैंडल इंटरऑप की अनुमति देता है, और ऐसा बफर इनपुट Tensor से जुड़ा हुआ है।
आउटपुट आउटपुट डेटा की एक बहुआयामी सरणी, या इंट, फ्लोट, लॉन्ग और बाइट सहित आदिम प्रकारों का एक Buffer । जब Buffer उपयोग किया जाता है, तो कॉल करने वाले को यह सुनिश्चित करना होगा कि उसने उचित लिखने की स्थिति निर्धारित की है। एक शून्य मान की अनुमति है, और कुछ मामलों के लिए उपयोगी है, उदाहरण के लिए, यदि कॉल करने वाला एक Delegate उपयोग कर रहा है जो बफर हैंडल इंटरऑप की अनुमति देता है, और ऐसा बफर आउटपुट Tensor से जुड़ा हुआ है ( इंटरप्रेटर.ऑप्शन#सेटअल्लोबफ़रहैंडलआउटपुट(बूलियन) भी देखें) ), या यदि ग्राफ़ में गतिशील रूप से आकार के आउटपुट हैं और कॉल करने वाले को अनुमान लगाने के बाद आउटपुट Tensor आकार को क्वेरी करना होगा, तो आउटपुट टेन्सर से सीधे डेटा प्राप्त करना होगा ( Tensor.asReadOnlyBuffer() के माध्यम से)।

सार्वजनिक शून्य रनफॉरमल्टीपलइनपुटआउटपुट ( ऑब्जेक्ट[] इनपुट, मैप < इंटेगर , ऑब्जेक्ट > आउटपुट)

यदि मॉडल एकाधिक इनपुट लेता है, या एकाधिक आउटपुट देता है तो मॉडल अनुमान चलाता है।

चेतावनी: यदि Buffer एस (अधिमानतः प्रत्यक्ष, लेकिन आवश्यक नहीं) को इनपुट/आउटपुट डेटा प्रकार के रूप में उपयोग किया जाता है तो एपीआई अधिक कुशल है। कृपया बेहतर प्रदर्शन के लिए आदिम डेटा को फीड करने और लाने के लिए Buffer उपयोग करने पर विचार करें। निम्नलिखित कंक्रीट Buffer प्रकार समर्थित हैं:

  • ByteBuffer - किसी भी अंतर्निहित आदिम टेन्सर प्रकार के साथ संगत।
  • FloatBuffer - फ्लोट टेंसर के साथ संगत।
  • IntBuffer - int32 Tensors के साथ संगत।
  • LongBuffer - int64 टेंसर के साथ संगत।
ध्यान दें कि बूलियन प्रकार केवल सरणियों के रूप में समर्थित हैं, Buffer एस या स्केलर इनपुट के रूप में नहीं।

ध्यान दें: inputs और outputs के अलग-अलग तत्वों के लिए null मान की अनुमति केवल तभी दी जाती है जब कॉल करने वाला एक Delegate उपयोग कर रहा है जो बफर हैंडल इंटरऑप की अनुमति देता है, और ऐसा बफर संबंधित इनपुट या आउटपुट Tensor (एस) से जुड़ा हुआ है।

पैरामीटर
आदानों इनपुट डेटा की एक सरणी. इनपुट मॉडल के इनपुट के समान क्रम में होने चाहिए। प्रत्येक इनपुट एक सरणी या बहुआयामी सरणी, या इंट, फ्लोट, लॉन्ग और बाइट सहित आदिम प्रकारों का Buffer हो सकता है। Buffer बड़े इनपुट डेटा को पास करने का पसंदीदा तरीका है, जबकि स्ट्रिंग प्रकारों को (बहु-आयामी) सरणी इनपुट पथ का उपयोग करने की आवश्यकता होती है। जब Buffer का उपयोग किया जाता है, तो मॉडल अनुमान पूरा होने तक इसकी सामग्री अपरिवर्तित रहनी चाहिए, और कॉल करने वाले को यह सुनिश्चित करना होगा कि Buffer उचित पढ़ने की स्थिति में है।
आउटपुट एक मानचित्र जो आउटपुट डेटा के बहुआयामी सरणियों या इंट, फ्लोट, लॉन्ग और बाइट सहित आदिम प्रकारों के Buffer के लिए आउटपुट इंडेक्स को मैप करता है। इसे उपयोग किए जाने वाले आउटपुट के लिए केवल प्रविष्टियाँ रखने की आवश्यकता है। जब Buffer उपयोग किया जाता है, तो कॉल करने वाले को यह सुनिश्चित करना होगा कि उसने उचित लिखने की स्थिति निर्धारित की है। मानचित्र उन मामलों के लिए खाली हो सकता है जहां या तो आउटपुट टेंसर डेटा के लिए बफर हैंडल का उपयोग किया जाता है, या ऐसे मामले जहां आउटपुट को गतिशील रूप से आकार दिया जाता है और कॉल करने वाले को आउटपुट Tensor आकार को क्वेरी करने के बाद अनुमान लगाने के बाद आउटपुट टेंसर से सीधे डेटा प्राप्त करना होगा ( Tensor.asReadOnlyBuffer() के माध्यम से)।

सार्वजनिक शून्य रनसिग्नेचर ( मानचित्र < स्ट्रिंग , ऑब्जेक्ट > इनपुट, मानचित्र < स्ट्रिंग , ऑब्जेक्ट > आउटपुट)

runSignature(Map, Map, String) के समान, लेकिन सिग्नेचरकी पास करने की आवश्यकता नहीं है, यह मानते हुए कि मॉडल में एक सिग्नेचरडिफ है। यदि मॉडल में एक से अधिक सिग्नेचरडिफ है तो यह एक अपवाद फेंक देगा।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
आदानों
आउटपुट

सार्वजनिक शून्य रनसिग्नेचर ( मैप < स्ट्रिंग , ऑब्जेक्ट > इनपुट, मैप < स्ट्रिंग , ऑब्जेक्ट > आउटपुट, स्ट्रिंग सिग्नेचरकी)

signatureKey के माध्यम से प्रदान किए गए सिग्नेचरडिफ के आधार पर मॉडल अनुमान चलाता है।

अनुमत इनपुट और आउटपुट डेटा प्रकारों पर अधिक विवरण के लिए run(Object, Object) देखें।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
आदानों सिग्नेचरडिफ में इनपुट नाम से इनपुट ऑब्जेक्ट तक का नक्शा।
आउटपुट सिग्नेचरडेफ़ में आउटपुट नाम से आउटपुट डेटा तक का एक मानचित्र। यह खाली हो सकता है यदि कॉलर अनुमान के बाद सीधे Tensor डेटा को क्वेरी करना चाहता है (उदाहरण के लिए, यदि आउटपुट आकार गतिशील है, या आउटपुट बफर हैंडल का उपयोग किया जाता है)।
हस्ताक्षरकुंजी सिग्नेचर कुंजी सिग्नेचरडिफ की पहचान करती है।
फेंकता
अवैध तर्क अपवाद यदि inputs शून्य या खाली है, यदि outputs या signatureKey शून्य है, या यदि अनुमान चलाते समय कोई त्रुटि होती है।

सार्वजनिक शून्य सेटरद्द (बूलियन रद्द)

उन्नत: run(Object, Object) कॉल के बीच में अनुमान को बाधित करता है।

जब यह फ़ंक्शन कॉल किया जाएगा तो रद्दीकरण ध्वज सत्य पर सेट कर दिया जाएगा। दुभाषिया ऑप आह्वान के बीच ध्वज की जाँच करेगा, और यदि यह true है, तो दुभाषिया निष्पादन रोक देगा। दुभाषिया तब तक रद्द स्थिति में रहेगा जब तक कि setCancelled(false) द्वारा स्पष्ट रूप से "रद्द नहीं" कर दिया जाता।

चेतावनी: यह एक प्रायोगिक एपीआई है और परिवर्तन के अधीन है।

पैरामीटर
रद्द सर्वोत्तम प्रयास से अनुमान को रद्द करना true ; फिर से शुरू करने के लिए false .
फेंकता
IllegalStateException यदि दुभाषिया को रद्द करने योग्य विकल्प के साथ प्रारंभ नहीं किया गया है, जो डिफ़ॉल्ट रूप से बंद है।
यह सभी देखें