Типизированный многомерный массив, используемый в Tensorflow Lite.
Собственный дескриптор Tensor
управляется NativeInterpreterWrapper
и не требует закрытия клиентом. Однако после закрытия NativeInterpreterWrapper
дескриптор тензора станет недействительным.
Вложенные классы
сорт | Tensor.QuantizationParams | Параметры квантования, соответствующие таблице QuantizationParameters в файле схемы модели TFLite. |
Публичные методы
абстрактный байтбуфер | asReadOnlyBuffer () Возвращает представление данных тензора ByteBuffer только для чтения. |
абстрактный тип данных | тип данных () Возвращает DataType элементов, хранящихся в Тензоре. |
абстрактный интервал | числобайт () Возвращает размер тензорных данных в байтах. |
абстрактный интервал | numDimensions () Возвращает количество измерений (иногда называемое рангом ) тензора. |
абстрактный int | числоЭлементы () Возвращает количество элементов в плоском (1D) представлении тензора. |
абстрактный Tensor.QuantizationParams | квантованиеПарамсы () Возвращает параметры квантования тензора в интерпретаторе-владельце. |
абстрактный int[] | |
абстрактный int[] | формаПодпись () Возвращает исходную форму тензора, т. е. размеры каждого измерения — до того, как было выполнено изменение размера. |
Публичные методы
общедоступный абстрактный ByteBuffer asReadOnlyBuffer ()
Возвращает представление ByteBuffer
только для чтения данных тензора.
В общем, этот метод наиболее полезен для получения представления выходных тензорных данных, доступного только для чтения, *после* выполнения вывода (например, через InterpreterApi.run(Object, Object)
). В частности, некоторые графики имеют выходные данные динамической формы, что может затруднить подачу интерпретатору предопределенного выходного буфера. Пример использования:
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
ВНИМАНИЕ: Если тензор еще не был выделен, например, до выполнения вывода, результат не определен. Обратите внимание, что базовый указатель тензора также может измениться, когда тензор каким-либо образом становится недействительным (например, если выполняется вывод или изменяется размер графа), поэтому *не* безопасно хранить ссылку на возвращенный буфер после немедленного использования. непосредственно после умозаключения. Пример *плохого* использования:
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may n