| Subclass Tidak Langsung yang Dikenal | 
Antarmuka ke penafsir model TensorFlow Lite, tidak termasuk metode eksperimental.
Instance InterpreterApi mengenkapsulasi model TensorFlow Lite terlatih, dengan
 dijalankan untuk inferensi model.
 
Misalnya, jika model hanya mengambil satu input dan hanya menampilkan satu output:
try (InterpreterApi interpreter =
     new InterpreterApi.create(file_of_a_tensorflowlite_model)) {
   interpreter.run(input, output);
 }
 Jika model menggunakan beberapa input atau 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 (InterpreterApi interpreter =
     new InterpreterApi.create(file_of_a_tensorflowlite_model)) {
   interpreter.runForMultipleInputsOutputs(inputs, map_of_indices_to_outputs);
 }
 Jika model mengambil atau menghasilkan tensor string:
String[] input = {"foo", "bar"};  // Input tensor shape is [2].
 String[][] output = new String[3][2];  // Output tensor shape is [3, 2].
 try (InterpreterApi interpreter =
     new InterpreterApi.create(file_of_a_tensorflowlite_model)) {
   interpreter.runForMultipleInputsOutputs(input, output);
 }
 Perhatikan bahwa ada perbedaan antara bentuk [] dan bentuk[1]. Untuk tensor string skalar output:
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);
 Urutan input dan output ditentukan saat mengonversi model TensorFlow ke TensorFlowLite dengan Toco, serta bentuk default input-nya.
Ketika input diberikan sebagai array (multi-dimensi), tensor input yang sesuai akan
 secara implisit diubah ukurannya 
sesuai dengan bentuk {i>array<i} itu. Jika input disediakan sebagai jenis Buffer, tidak ada perubahan ukuran implisit yang dilakukan; pemanggil harus memastikan bahwa ukuran byte Buffer cocok dengan tensor terkait, atau bahwa ukuran
 mengubah ukuran tensor melalui resizeInput(int, int[]). Informasi bentuk dan jenis tensor dapat
 diperoleh melalui class Tensor, tersedia melalui getInputTensor(int) dan getOutputTensor(int).
 
PERINGATAN: Instance InterpreterApi tidak aman untuk thread.
 
PERINGATAN:Instance InterpreterApi memiliki resource yang harus berupa
 dibebaskan secara eksplisit dengan memanggil close()
Library TFLite dibuat berdasarkan NDK API 19. Fitur ini mungkin berfungsi untuk API Android dengan level di bawah 19, tetapi tidak dijamin.
Class Bertingkat
| class | InterpreterApi.Options | Class opsi untuk mengontrol perilaku penafsir runtime. | |
Metode Publik
| abstrak kosong | 
allocateTensors()
                
                   Secara eksplisit mengupdate alokasi untuk semua tensor, jika diperlukan. | 
| abstrak kosong | 
close()
                
                   Melepaskan resource yang terkait dengan instance  InterpreterApi. | 
| statis InterpreterApi | 
create(opsi File modelFile, InterpreterApi.Options)
                
                   Membuat instance  InterpreterApi, menggunakan model dan opsi yang ditentukan. | 
| statis InterpreterApi | 
create(opsi ByteBuffer byteBuffer, InterpreterApi.Options)
                
                   Membuat instance  InterpreterApi, menggunakan model dan opsi yang ditentukan. | 
| abstrak Int | |
| abstrak Tensor | 
getInputTensor(int inputIndex)
                
                   Mendapatkan Tensor yang terkait dengan indeks input yang disediakan. | 
| abstrak Int | 
getInputTensorCount()
                
                   Mendapatkan jumlah tensor input. | 
| abstrak Panjang | 
getLastNativeInferenceDurationNanoseconds()
                
                   Menampilkan waktu inferensi native. | 
| abstrak Int | |
| abstrak Tensor | 
getOutputTensor(int outputIndex)
                
                   Mendapatkan Tensor yang terkait dengan indeks output yang diberikan. | 
| abstrak Int | 
getOutputTensorCount()
                
                   Mendapatkan jumlah Tensor output. | 
| abstrak kosong | 
resizeInput(int idx, int[] dims, boolean strict)
                
                   Mengubah ukuran input idx-th model native ke redup yang diberikan. | 
| abstrak kosong | 
resizeInput(int idx, int[] dims)
                
                   Mengubah ukuran input idx-th model native ke redup yang diberikan. | 
| abstrak kosong | |
| abstrak kosong | 
runForMultipleInputsOutputs(input Object[], output Map<Integer, Object>)
                
                   Menjalankan inferensi model jika model mengambil beberapa input, atau menampilkan beberapa output. | 
Metode Turunan
Metode Publik
publik abstrak kosong allocateTensors ()
Secara eksplisit mengupdate alokasi untuk semua tensor, jika diperlukan.
Ini akan menyebarkan bentuk dan alokasi memori untuk tensor dependen menggunakan input Tensor shape(s) seperti yang diberikan.
Catatan: Panggilan ini *murni opsional*. Alokasi tensor akan otomatis terjadi selama eksekusi jika ada tensor input yang diubah ukurannya. Panggilan ini paling berguna dalam menentukan bentuk untuk tensor output apa pun sebelum mengeksekusi grafik, misalnya,
 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...Catatan: Beberapa grafik memiliki output yang berbentuk dinamis, dalam hal ini bentuk output mungkin tidak sepenuhnya disebarkan hingga inferensi dijalankan.
Menampilkan
| IllegalStateException | jika tensor grafik tidak berhasil dialokasikan. | 
|---|
publik abstrak kosong tutup ()
Melepaskan resource yang terkait dengan instance InterpreterApi. 
publik statis InterpreterApi buat (File modelFile, opsi InterpreterApi.Options)
Membuat instance InterpreterApi, menggunakan model dan opsi yang ditentukan. Model
 akan dimuat dari file.
Parameter
| modelFile | File yang berisi model TF Lite terlatih. | 
|---|---|
| opsi | Sekumpulan opsi untuk menyesuaikan perilaku penafsir. | 
Menampilkan
| IllegalArgumentException | jika modelFiletidak mengenkode TensorFlow Lite yang valid
     model transformer. | 
|---|
publik statis InterpreterApi buat (ByteBuffer byteBuffer, opsi InterpreterApi.Options)
Membuat instance InterpreterApi, menggunakan model dan opsi yang ditentukan. Model
 akan dibaca dari ByteBuffer.
Parameter
| byteBuffer | Model TF Lite terlatih, dalam bentuk serial biner. ByteBuffer seharusnya
     tidak diubah setelah pembuatan instance InterpreterApi.ByteBufferdapat berupaMappedByteBufferyang memetakan file model dengan memori, atauByteBufferlangsung dari nativeOrder() yang berisi konten byte dari suatu model. | 
|---|---|
| opsi | Sekumpulan opsi untuk menyesuaikan perilaku penafsir. | 
Menampilkan
| IllegalArgumentException | jika byteBufferbukanMappedByteBufferatauByteBufferlangsung dari nativeOrder. | 
|---|
publik abstrak Int getInputIndex (String opName)
Mendapatkan indeks input berdasarkan nama op input.
Parameter
| opName | 
|---|
Menampilkan
| IllegalArgumentException | jika opNametidak cocok dengan input apa pun dalam model yang digunakan
     untuk melakukan inisialisasi pada penafsir. | 
|---|
publik abstrak Tensor getInputTensor (int inputIndex)
Mendapatkan Tensor yang terkait dengan indeks input yang disediakan.
Parameter
| inputIndex | 
|---|
Menampilkan
| IllegalArgumentException | jika inputIndexnegatif atau tidak lebih kecil dari
     jumlah input model. | 
|---|
publik abstrak Int getInputTensorCount ()
Mendapatkan jumlah tensor input.
publik abstrak Panjang getLastNativeInferenceDurationNanoseconds ()
Menampilkan waktu inferensi native.
Menampilkan
| IllegalArgumentException | jika model tidak diinisialisasi oleh penafsir. | 
|---|
publik abstrak Int getOutputIndex (String opName)
Mendapatkan indeks output berdasarkan nama op output.
Parameter
| opName | 
|---|
Menampilkan
| IllegalArgumentException | jika opNametidak cocok dengan output apa pun dalam model yang digunakan
     untuk melakukan inisialisasi pada penafsir. | 
|---|
publik abstrak Tensor getOutputTensor (int outputIndex)
Mendapatkan Tensor yang terkait dengan indeks output yang diberikan.
Catatan: Detail tensor output (misalnya, bentuk) mungkin tidak terisi sepenuhnya hingga setelah inferensi
 dieksekusi. Jika Anda memerlukan detail yang diperbarui *sebelum* menjalankan inferensi (mis., setelah mengubah ukuran
 tensor input, yang dapat membatalkan bentuk tensor output), gunakan allocateTensors() untuk
 secara eksplisit memicu alokasi 
dan propagasi bentuk. Perhatikan bahwa, untuk grafik dengan bentuk output
 bergantung pada *nilai* input, bentuk output mungkin tidak ditentukan sepenuhnya sampai
 menjalankan inferensi.
Parameter
| outputIndex | 
|---|
Menampilkan
| IllegalArgumentException | jika outputIndexnegatif atau tidak lebih kecil dari
     jumlah output model. | 
|---|
publik abstrak Int getOutputTensorCount ()
Mendapatkan jumlah Tensor output.
publik abstrak kosong resizeInput (int idx, int[] dims, boolean ketat)
Mengubah ukuran input idx-th model native ke redup yang diberikan.
Jika `strict` bernilai Benar, hanya dimensi yang tidak diketahui yang dapat diubah ukurannya. Dimensi yang tidak diketahui adalah ditunjukkan sebagai `-1` dalam array yang ditampilkan oleh `Tensor.shapeSignature()`.
Parameter
| IDX | |
|---|---|
| redupkan | |
| ketat | 
Menampilkan
| IllegalArgumentException | jika idxnegatif atau tidak lebih kecil dari angkanya
     input model; atau jika terjadi error saat mengubah ukuran input idx-th. Selain itu, error
     terjadi saat mencoba mengubah ukuran tensor dengan dimensi tetap saat `strict` bernilai True. | 
|---|
publik abstrak kosong resizeInput (int idx, int[] dims)
Mengubah ukuran input idx-th model native ke redup yang diberikan.
Parameter
| IDX | |
|---|---|
| redupkan | 
Menampilkan
| IllegalArgumentException | jika idxnegatif atau tidak lebih kecil dari angkanya
     input model; atau jika terjadi error saat mengubah ukuran input idx-th. | 
|---|
publik abstrak kosong jalankan (Input Objek, output Objek)
Menjalankan inferensi model jika model hanya mengambil satu input, dan hanya memberikan satu output.
Peringatan: API lebih efisien jika Buffer (sebaiknya langsung, tetapi tidak wajib)
 digunakan sebagai tipe data input/output. Sebaiknya gunakan Buffer untuk melakukan feed dan mengambil
 data primitif untuk kinerja yang lebih baik. Jenis Buffer konkret berikut adalah
 didukung:
 
- ByteBuffer- kompatibel dengan semua jenis Tensor primitif yang mendasarinya.
- FloatBuffer- kompatibel dengan Tensor float.
- IntBuffer- kompatibel dengan Tensor int32.
- LongBuffer- kompatibel dengan Tensor int64.
Buffer, atau sebagai input skalar.Parameter
| input | array atau array multidimensi, atau Bufferjenis primitif
     termasuk int, float, long, dan byte.Bufferadalah cara yang direkomendasikan untuk meneruskan
     untuk jenis primitif, sedangkan jenis string memerlukan penggunaan string
     input array. SaatBufferdigunakan, kontennya tidak boleh berubah sampai
     inferensi model selesai, dan pemanggil harus memastikan bahwaBufferberada di
     posisi baca yang sesuai. Nilainullhanya diizinkan jika pemanggil menggunakanDelegateyang memungkinkan interop penanganan buffer, dan buffer tersebut telah diikat ke
     masukkanTensor. | 
|---|---|
| hasil | array multidimensi dari data output, atau Bufferjenis primitif
     termasuk int, float, long, dan byte. SaatBufferdigunakan, pemanggil harus memastikan
     perintahnya mengatur posisi
tulis yang sesuai. Nilai {i>null <i}diizinkan, dan berguna untuk
     kasus tertentu, misalnya, jika pemanggil menggunakanDelegateyang memungkinkan handle buffer
     interop, dan buffer semacam itu telah terikat ke outputTensor(lihat juga Interpreter.Options#setAllowBufferHandleOutput(boolean)),
     atau jika grafik memiliki output yang berbentuk dinamis dan pemanggil harus membuat kueri bentukTensoroutput setelah inferensi dipanggil, mengambil data langsung dari output
     Tensor (melaluiTensor.asReadOnlyBuffer()). | 
Menampilkan
| IllegalArgumentException | jika inputadalah null atau kosong, atau jika terjadi error saat
     menjalankan inferensi. | 
|---|---|
| IllegalArgumentException | (EKSPERIMENTAL, dapat berubah sewaktu-waktu) jika inferensinya
     diganggu oleh setCancelled(true). | 
publik abstrak kosong runForMultipleInputsOutputs (Input Objek[], Map<Integer, Objek> output)
Menjalankan inferensi model jika model mengambil beberapa input, atau menampilkan beberapa output.
Peringatan: API lebih efisien jika Buffer (sebaiknya langsung, tetapi tidak wajib)
 digunakan sebagai tipe data input/output. Sebaiknya gunakan Buffer untuk melakukan feed dan mengambil
 data primitif untuk kinerja yang lebih baik. Jenis Buffer konkret berikut adalah
 didukung:
 
- ByteBuffer- kompatibel dengan semua jenis Tensor primitif yang mendasarinya.
- FloatBuffer- kompatibel dengan Tensor float.
- IntBuffer- kompatibel dengan Tensor int32.
- LongBuffer- kompatibel dengan Tensor int64.
Buffer, atau sebagai input skalar.
 Catatan: Nilai null untuk elemen individu inputs dan outputs adalah
 hanya diizinkan jika pemanggil menggunakan Delegate yang memungkinkan interop penanganan buffer, dan
 buffer tersebut telah terikat dengan Tensor input atau output yang sesuai.
Parameter
| input | array data input. Input harus dalam urutan yang sama dengan input
     model transformer. Setiap input dapat berupa array atau array multidimensi, atau Bufferdari
     jenis primitif termasuk int, float, long, dan byte.Bufferadalah cara yang direkomendasikan
     untuk meneruskan data input besar, sedangkan jenis string memerlukan penggunaan array (multi-dimensi)
     input teks. SaatBufferdigunakan, kontennya tidak boleh berubah sampai model
     inferensi selesai, dan pemanggil harus memastikan bahwaBufferberada di
     posisi baca. | 
|---|---|
| output | indeks output pemetaan peta ke array multidimensi dari data output atau Bufferjenis primitif termasuk int, float, long, dan byte. Sistem hanya perlu menyimpan
     entri untuk output yang akan digunakan. SaatBufferdigunakan, pemanggil harus memastikan
     perintahnya mengatur posisi
tulis yang sesuai. Peta mungkin kosong untuk kasus di mana
     handle buffer digunakan untuk data tensor output, atau saat output
     dibentuk dan pemanggil harus mengkueri bentukTensoroutput setelah inferensi
     dipanggil, mengambil data langsung dari tensor output (melaluiTensor.asReadOnlyBuffer()). | 
Menampilkan
| IllegalArgumentException | jika inputsadalah null atau kosong, jikaoutputsadalah
     {i>null<i}, atau jika terjadi {i>error<i} saat menjalankan inferensi. | 
|---|