TensorFlow Lite की मदद से, मॉडल अनुमान लगाने के लिए ड्राइवर क्लास.
ध्यान दें: अगर आपको किसी भी "प्रयोग के तौर पर उपलब्ध" सुविधा के ऐक्सेस की ज़रूरत नहीं है एपीआई की सुविधाओं के बारे में नीचे बताया गया है. इनमें से किसी का भी इस्तेमाल करें सीधे अनुवादक का इस्तेमाल करने के बजाय InterpreterApi और interpreterफ़ैक्ट्री का इस्तेमाल करें.
Interpreter
, पहले से ट्रेन किए गए TensorFlow Lite मॉडल को इनकैप्सुलेट करता है, जिसमें ऑपरेशन
को मॉडल अनुमान के लिए एक्ज़ीक्यूट किया जाता है.
उदाहरण के लिए, अगर कोई मॉडल सिर्फ़ एक इनपुट लेता है और सिर्फ़ एक आउटपुट देता है, तो:
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