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ı | |
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ı | |
soyut Tensor |
getOutputTensor(int exitIndex)
|