| Nënklasa indirekte të njohura | 
Ndërfaqja me interpretuesin e modelit TensorFlow Lite, duke përjashtuar metodat eksperimentale.
 Një shembull InterpreterApi përmbledh një model TensorFlow Lite të trajnuar paraprakisht, në të cilin operacionet ekzekutohen për përfundimin e modelit.
Për shembull, nëse një model merr vetëm një hyrje dhe kthen vetëm një dalje:
try (InterpreterApi interpreter =
     new InterpreterApi.create(file_of_a_tensorflowlite_model)) {
   interpreter.run(input, output);
 }
 Nëse një model merr shumë hyrje ose dalje:
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);
 }
 Nëse një model merr ose prodhon tensorë vargu:
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);
 }
 Vini re se ka një dallim midis formës [] dhe formës[1]. Për daljet skalare të tenzorit të vargut:
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);
 Rendit e hyrjeve dhe daljeve përcaktohen kur konvertohet modeli TensorFlow në model TensorFlowLite me Toco, siç janë format e paracaktuara të hyrjeve.
 Kur hyrjet ofrohen si vargje (shumë-dimensionale), tensori(t) përkatëse hyrëse do të ndryshohet në mënyrë implicite sipas formës së atij grupi. Kur inputet ofrohen si lloje Buffer , nuk bëhet asnjë ndryshim i nënkuptuar i madhësisë; thirrësi duhet të sigurojë që madhësia e bajtit Buffer ose të përputhet me atë të tensorit përkatës, ose që së pari të ndryshojë madhësinë e tensorit nëpërmjet resizeInput(int, int[]) . Informacioni për formën dhe llojin e tensorit mund të merret nëpërmjet klasës Tensor , e disponueshme nëpërmjet getInputTensor(int) dhe getOutputTensor(int) .
 PARALAJMËRIM: Instancat InterpreterApi nuk janë të sigurta për temat.
 PARALAJMËRIM: Një shembull InterpreterApi zotëron burime që duhet të lirohen në mënyrë eksplicite duke thirrur close()
Biblioteka TFLite është ndërtuar kundër NDK API 19. Mund të funksionojë për nivelet e API të Android nën 19, por nuk është e garantuar.
Klasat e mbivendosura
| klasës | InterpreterApi.Opsionet | Një klasë opsionesh për kontrollin e sjelljes së interpretuesit në kohën e ekzekutimit. | |
Metodat publike
| zbrazëti abstrakte |  allocateTensors ()  Përditëson në mënyrë të qartë alokimet për të gjithë tensorët, nëse është e nevojshme. | 
| zbrazëti abstrakte |  mbyll ()  Lëshoni burime të lidhura me shembullin  InterpreterApi. | 
| InterpreterApi statike |  krijo ( File modelFile, InterpreterApi.Options opsionet)  Ndërton një shembull  InterpreterApi, duke përdorur modelin dhe opsionet e specifikuara. | 
| InterpreterApi statike |  krijo (Opsionet e ByteBuffer byteBuffer, InterpreterApi.Options )  Ndërton një shembull  InterpreterApi, duke përdorur modelin dhe opsionet e specifikuara. | 
| abstrakte int |  getInputIndex (OpEmri i vargut )  Merr indeksin e një hyrjeje duke pasur parasysh emrin op të hyrjes. | 
| Tensor abstrakt |  getInputTensor (int inputIndex)  Merr tensorin të lidhur me indeksin e dhënë të hyrjes. | 
| abstrakte int |  getInputTensorCount ()  Merr numrin e tensorëve të hyrjes. | 
| abstrakt i gjatë |  getLastNativeInferenceDurationNanosekonda ()  Rikthen kohën e konkluzionit origjinal. | 
| abstrakte int |  getOutputIndex (Opname i vargut )  Merr indeksin e një prodhimi duke pasur parasysh emrin op të prodhimit. | 
| Tensor abstrakt |  getOutputTensor (int outputIndex)  Merr tensorin të lidhur me indeksin e dhënë të daljes. | 
| abstrakte int |  getOutputTensorCount ()  Merr numrin e tensorëve në dalje. | 
| zbrazëti abstrakte |  resizeInput (int idx, int[] dims, boolean strikte)  Ndryshon madhësinë e hyrjes idx-të të modelit vendas në dims të dhëna. | 
| zbrazëti abstrakte |  resizeInput (int idx, int[] dims)  Ndryshon madhësinë e hyrjes idx-të të modelit vendas në dims të dhëna. | 
| zbrazëti abstrakte |  ekzekutim (Hyrja e objektit , dalja e objektit )  Ekzekuton konkluzionet e modelit nëse modeli merr vetëm një hyrje dhe siguron vetëm një dalje. | 
| zbrazëti abstrakte |  runForMultipleInputsOutputs ( hyrjet e objektit[] , Harta < Integer , Object > daljet)  Ekzekuton konkluzionet e modelit nëse modeli merr hyrje të shumta, ose kthen dalje të shumta.  | 
Metodat e trashëguara
Metodat publike
abstrakt publik void allocateTensors ()
Përditëson në mënyrë të qartë alokimet për të gjithë tensorët, nëse është e nevojshme.
Kjo do të përhapë forma dhe alokime të memories për tensorët e varur duke përdorur formën(at) e tensorit hyrës siç është dhënë.
Shënim: Kjo thirrje është *thjesht fakultative*. Shpërndarja e tensorit do të ndodhë automatikisht gjatë ekzekutimit nëse ndonjë tensor hyrës është ndryshuar përmasat. Kjo thirrje është më e dobishme në përcaktimin e formave për çdo tensorë dalës përpara ekzekutimit të grafikut, p.sh.
 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...Shënim: Disa grafikë kanë rezultate në formë dinamike, në të cilin rast forma e daljes mund të mos përhapet plotësisht derisa të ekzekutohet përfundimi.
Hedhjet
| IllegalStateException | nëse tensorët e grafikut nuk mund të alokohen me sukses. | 
|---|
mbyllje abstrakte publike zbrazëti ()
 Lëshoni burime të lidhura me shembullin InterpreterApi . 
Krijimi publik statik i InterpreterApi ( File modelFile, InterpreterApi.Options opsionet)
 Ndërton një shembull InterpreterApi , duke përdorur modelin dhe opsionet e specifikuara. Modeli do të ngarkohet nga një skedar. 
Parametrat
| modelFile | Një skedar që përmban një model TF Lite të trajnuar paraprakisht. | 
|---|---|
| opsionet | Një grup opsionesh për përshtatjen e sjelljes së përkthyesit. | 
Hedhjet
| IllegalArgumentPërjashtim | nëse modelFilenuk kodon një model të vlefshëm TensorFlow Lite. | 
|---|
Krijimi publik statik i InterpreterApi (Opsionet e ByteBuffer byteBuffer, InterpreterApi.Options )
 Ndërton një shembull InterpreterApi , duke përdorur modelin dhe opsionet e specifikuara. Modeli do të lexohet nga një ByteBuffer . 
Parametrat
| byteBuffer | Një model TF Lite i trajnuar paraprakisht, në formë të serializuar binare. ByteBuffer nuk duhet të modifikohet pas ndërtimit të një shembulli InterpreterApi.ByteBuffermund të jetë ose njëMappedByteBufferqë memoria harton një skedar modeli, ose njëByteBufferi drejtpërdrejtë i nativeOrder() që përmban përmbajtjen e bajteve të një modeli. | 
|---|---|
| opsionet | Një grup opsionesh për përshtatjen e sjelljes së përkthyesit. | 
Hedhjet
| IllegalArgumentPërjashtim | nëse byteBuffernuk është njëMappedByteBufferdhe as njëByteBufferi drejtpërdrejtë i nativeOrder. | 
|---|
abstrakt publik int getInputIndex ( OpEmri i vargut)
Merr indeksin e një hyrjeje duke pasur parasysh emrin op të hyrjes.
Parametrat
| opEmri | 
|---|
Hedhjet
| IllegalArgumentPërjashtim | nëse opNamenuk përputhet me asnjë hyrje në modelin e përdorur për të inicializuar interpretuesin. | 
|---|
Tensor abstrakt publik getInputTensor (int inputIndex)
Merr tensorin të lidhur me indeksin e dhënë të hyrjes.
Parametrat
| InputIndeksi | 
|---|
Hedhjet
| IllegalArgumentPërjashtim | nëse inputIndexështë negativ ose nuk është më i vogël se numri i inputeve të modelit. | 
|---|
abstrakt publik int getInputTensorCount ()
Merr numrin e tensorëve të hyrjes.
abstrakt publik Long getLastNativeInferenceDurationNanosekonda ()
Rikthen kohën e konkluzionit origjinal.
Hedhjet
| IllegalArgumentPërjashtim | nëse modeli nuk inicializohet nga interpretuesi. | 
|---|
abstrakt publik int getOutputIndex ( OpEmri i vargut)
Merr indeksin e një prodhimi duke pasur parasysh emrin op të prodhimit.
Parametrat
| opEmri | 
|---|
Hedhjet
| IllegalArgumentPërjashtim | nëse opNamenuk përputhet me asnjë dalje në modelin e përdorur për të inicializuar interpretuesin. | 
|---|
Tensor abstrakt publik getOutputTensor (int outputIndex)
Merr tensorin të lidhur me indeksin e dhënë të daljes.
 Shënim: Detajet e tensorit të daljes (p.sh. forma) mund të mos plotësohen plotësisht derisa të ekzekutohet përfundimi. Nëse keni nevojë për detaje të përditësuara *para* ekzekutimit të konkluzionit (p.sh., pas ndryshimit të madhësisë së një tensori hyrës, i cili mund të zhvleftësojë format e tensoreve dalëse), përdorni allocateTensors() për të aktivizuar në mënyrë eksplicite alokimin dhe përhapjen e formës. Vini re se, për grafikët me forma dalëse që varen nga *vlerat* e hyrjes, forma dalëse mund të mos përcaktohet plotësisht derisa të ekzekutohet përfundimi. 
Parametrat
| Indeksi i daljes | 
|---|
Hedhjet
| IllegalArgumentPërjashtim | nëse outputIndexështë negativ ose nuk është më i vogël se numri i rezultateve të modelit. | 
|---|
abstrakt publik int getOutputTensorCount ()
Merr numrin e tensorëve në dalje.
abstrakt publik void resizeInput (int idx, int[] dims, boolean strikte)
Ndryshon madhësinë e hyrjes idx-të të modelit vendas në dims të dhëna.
Kur "strict" është e vërtetë, vetëm dimensionet e panjohura mund të ndryshohen. Dimensionet e panjohura tregohen si `-1` në grupin e kthyer nga `Tensor.shapeSignature()`.
Parametrat
| idx | |
|---|---|
| zbehet | |
| i rreptë | 
Hedhjet
| IllegalArgumentPërjashtim | nëse idxështë negativ ose nuk është më i vogël se numri i hyrjeve të modelit; ose nëse ndodh gabim gjatë ndryshimit të madhësisë së hyrjes idx-të. Për më tepër, gabimi ndodh kur përpiqeni të ndryshoni madhësinë e një tensori me dimensione fikse kur 'strict' është e vërtetë. | 
|---|
abstrakt publik void resizeInput (int idx, int[] dims)
Ndryshon madhësinë e hyrjes idx-të të modelit vendas në dims të dhëna.
Parametrat
| idx | |
|---|---|
| zbehet | 
Hedhjet
| IllegalArgumentPërjashtim | nëse idxështë negativ ose nuk është më i vogël se numri i hyrjeve të modelit; ose nëse ndodh gabim gjatë ndryshimit të madhësisë së hyrjes idx-të. | 
|---|
ekzekutim abstrakt publik i zbrazët (Hyrja e objektit , dalja e objektit )
Ekzekuton konkluzionet e modelit nëse modeli merr vetëm një hyrje dhe siguron vetëm një dalje.
 Paralajmërim: API është më efikas nëse një Buffer (mundësisht i drejtpërdrejtë, por jo i nevojshëm) përdoret si lloji i të dhënave hyrëse/dalëse. Ju lutemi merrni parasysh përdorimin e Buffer për të ushqyer dhe marrë të dhëna primitive për performancë më të mirë. Llojet e mëposhtme të Buffer betonit mbështeten:
-  ByteBuffer- i pajtueshëm me çdo lloj themelor primitiv Tensor.
-  FloatBuffer- i pajtueshëm me tensorët float.
-  IntBuffer- i pajtueshëm me tensorët int32.
-  LongBuffer- i pajtueshëm me tensorët int64.
Buffer s, ose si hyrje skalare. Parametrat
| hyrje | një grup ose një grup shumëdimensional, ose një Bufferi llojeve primitive duke përfshirë int, float, long dhe byte.Bufferështë mënyra e preferuar për të kaluar të dhëna të mëdha hyrëse për llojet primitive, ndërsa llojet e vargjeve kërkojnë përdorimin e shtegut të hyrjes së grupit (shumë-dimensionale). Kur përdoret njëBuffer, përmbajtja e tij duhet të mbetet e pandryshuar derisa të bëhet përfundimi i modelit dhe thirrësi duhet të sigurojë qëBufferështë në pozicionin e duhur të leximit. Një vlerënulllejohet vetëm nëse thirrësi përdor njëDelegateqë lejon ndërveprimin e trajtimit të tamponit dhe një buffer i tillë është lidhur meTensore hyrjes. | 
|---|---|
| prodhimit | një grup shumëdimensional i të dhënave dalëse, ose një Bufferi llojeve primitive duke përfshirë int, float, long dhe byte. Kur përdoret njëBuffer, thirrësi duhet të sigurojë që i është caktuar pozicioni i duhur i shkrimit. Një vlerë null lejohet dhe është e dobishme për raste të caktuara, p.sh., nëse thirrësi po përdor njëDelegateqë lejon ndërveprimin e dorezës së tamponit, dhe një tampon i tillë është i lidhur meTensore daljes (shih gjithashtu Interpreter.Options#setAllowBufferHandleOutput(boolean) ), ose nëse grafiku ka dalë në mënyrë dinamike, pasi thirrja në formë duhet të jetë në formëTensordhe thirret, duke marrë të dhënat direkt nga tensori i daljes (nëpërmjetTensor.asReadOnlyBuffer()). | 
Hedhjet
| IllegalArgumentPërjashtim | nëse inputështë e pavlefshme ose bosh, ose nëse ndodh një gabim gjatë ekzekutimit të konkluzionit. | 
|---|---|
| IllegalArgumentPërjashtim | (EKSPERIMENTAL, subjekt ndryshimi) nëse përfundimi ndërpritet nga setCancelled(true). | 
abstrakt publik void runForMultipleInputsOutputs ( hyrjet e objektit[] , Harta < Integer , Object > daljet)
Ekzekuton konkluzionet e modelit nëse modeli merr hyrje të shumta, ose kthen dalje të shumta.
 Paralajmërim: API është më efikas nëse Buffer -et (mundësisht të drejtpërdrejta, por jo të nevojshme) përdoren si llojet e të dhënave hyrëse/dalëse. Ju lutemi merrni parasysh përdorimin e Buffer për të ushqyer dhe marrë të dhëna primitive për performancë më të mirë. Llojet e mëposhtme të Buffer betonit mbështeten:
-  ByteBuffer- i pajtueshëm me çdo lloj themelor primitiv Tensor.
-  FloatBuffer- i pajtueshëm me tensorët float.
-  IntBuffer- i pajtueshëm me tensorët int32.
-  LongBuffer- i pajtueshëm me tensorët int64.
Buffer s, ose si hyrje skalare. Shënim: vlerat null për elementet individuale të inputs dhe outputs lejohen vetëm nëse thirrësi përdor një Delegate që lejon ndërveprimin e menaxhimit të tamponit dhe një buffer i tillë është lidhur me Tensor (t) përkatëse hyrëse ose dalëse. 
Parametrat
| inputet | një grup të dhënash hyrëse. Inputet duhet të jenë në të njëjtin rend si hyrjet e modelit. Çdo hyrje mund të jetë një grup ose një grup shumëdimensional, ose një Bufferi llojeve primitive duke përfshirë int, float, long dhe byte.Bufferështë mënyra e preferuar për të kaluar të dhëna të mëdha hyrëse, ndërsa llojet e vargjeve kërkojnë përdorimin e shtegut të hyrjes së grupit (shumë-dimensionale). Kur përdoretBuffer, përmbajtja e tij duhet të mbetet e pandryshuar derisa të bëhet përfundimi i modelit dhe thirrësi duhet të sigurojë qëBufferështë në pozicionin e duhur të leximit. | 
|---|---|
| daljet | një hartë duke hartuar indekset e daljes në grupe shumëdimensionale të të dhënave dalëse ose Buffers të llojeve primitive duke përfshirë int, float, long dhe byte. Duhet vetëm të mbajë shënime që rezultatet të përdoren. Kur përdoret njëBuffer, thirrësi duhet të sigurojë që i është caktuar pozicioni i duhur i shkrimit. Harta mund të jetë bosh për rastet kur ose dorezat e tamponit përdoren për të dhënat tensore dalëse, ose rastet kur daljet kanë formë dinamike dhe thirrësi duhet të kërkojë formën eTensortë daljes pasi të jetë thirrur konkluzioni, duke marrë të dhënat direkt nga tensori i daljes (nëpërmjetTensor.asReadOnlyBuffer()) . | 
Hedhjet
| IllegalArgumentPërjashtim | nëse inputsjanë të pavlefshme ose bosh, nëseoutputsjanë të pavlefshme, ose nëse ndodh një gabim gjatë ekzekutimit të konkluzionit. | 
|---|