InterpreterApi

herkese açık arayüz InterpreterApi
Bilinen Dolaylı Alt Sınıflar

Deneysel yöntemler hariç TensorFlow Lite model yorumlayıcısı arayüzü.

InterpreterApi örneği, önceden eğitilmiş bir TensorFlow Lite modelini içerir. işlemleri model çıkarımı için yürütülür.

Örneğin, bir model yalnızca bir giriş alır ve yalnızca bir çıkış döndürürse:

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

Bir model birden fazla giriş veya çıkış alıyorsa:

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);
 }
 

Bir model dize tensörleri alır veya üretirse:

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);
 }
 

Şekil [] ile şekil[1] arasında ayrım olduğuna dikkat edin. Skaler dize tensörü için çıktılar:

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 modeli TensorFlowLite'a dönüştürülürken giriş ve çıkış sıraları belirlenir. girişlerin varsayılan şekillerini de içerir.

Girişler (çok boyutlu) diziler olarak sağlandığında karşılık gelen giriş tensörleri dolaylı olarak yeniden boyutlandırabilirsiniz. Girişler Buffer türünde sağlandığında örtülü yeniden boyutlandırma yapılmaz; çağrıyı yapan, Buffer bayt boyutunun karşılık gelen tensörün boyutuyla eşleştiğinden veya önce tensörü resizeInput(int, int[]) aracılığıyla yeniden boyutlandırın. Tensor şekli ve türü bilgileri getInputTensor(int) ve getOutputTensor(int) aracılığıyla kullanılabilen Tensor sınıfı üzerinden alınmıştır.

UYARI:InterpreterApi örnekleri iş parçacığı için güvenli değildir.

UYARI: InterpreterApi örneğinin sahip olması gereken kaynaklar close() çağrılmasıyla açıkça serbest bırakıldı

TFLite kitaplığı, NDK API 19'a göre geliştirilmiştir. 19'un altındaki Android API seviyelerinde çalışabilir. ancak garanti edilmez.

İç İçe Yerleştirilmiş Sınıflar

sınıf InterpreterApi.Options Çalışma zamanı çevirmen davranışını kontrol etmek için bir seçenek sınıfı.

Herkese Açık Yöntemler

soyut geçersiz
allocateTensors()
Gerekirse tüm tensörler için ayırmaları açık bir şekilde günceller.
soyut geçersiz
close()
InterpreterApi örneğiyle ilişkili kaynakları serbest bırakın.
statik InterpreterApi
create(File modelFile, InterpreterApi.Options seçenekleri)
Belirtilen modeli ve seçenekleri kullanarak bir InterpreterApi örneği oluşturur.
statik InterpreterApi
create(ByteBuffer byteBuffer, InterpreterApi.Options seçenekleri)
Belirtilen modeli ve seçenekleri kullanarak bir InterpreterApi örneği oluşturur.
soyut tamsayı
getInputIndex(Dize opName)
Girişin işlem adı verilen bir girişin dizinini alır.
soyut Tensor
getInputTensor(int inputIndex)
Sağlanan giriş diziniyle ilişkilendirilmiş Tensor'u alır.
soyut tamsayı
getInputTensorCount()
Giriş tensörü sayısını alır.
soyut Uzun
getLastNativeInferenceDurationNanoseconds()
Yerel çıkarım zamanlamasını döndürür.
soyut tamsayı
getOutputIndex(Dize opName)
Çıkışın işlem adı olarak belirtilen çıkışın dizinini alır.
soyut Tensor
getOutputTensor(int exitIndex)