Типизированный многомерный массив, используемый в 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 now be invalid).
Броски
IllegalArgumentException | если данные тензора не были выделены. |
---|
общедоступный абстрактный тип данных dataType ()
Возвращает DataType
элементов, хранящихся в Тензоре.
общедоступный абстрактный int numBytes ()
Возвращает размер тензорных данных в байтах.
общедоступный абстрактный int numDimensions ()
Возвращает количество измерений (иногда называемое рангом ) тензора.
Будет 0 для скаляра, 1 для вектора, 2 для матрицы, 3 для трехмерного тензора и т. д.
публичный абстрактный int numElements ()
Возвращает количество элементов в плоском (1D) представлении тензора.
публичный абстрактный Tensor.QuantizationParams quantizationParams ()
Возвращает параметры квантования тензора в интерпретаторе-владельце.
Только квантованные тензоры имеют действительные QuantizationParameters
. Для тензоров, которые не квантованы, значения масштаба и нулевой точки оба равны 0.
общедоступная абстрактная форма int[] ()
Возвращает форму тензора, т. е. размеры каждого измерения.
Возврат
- массив, где i-й элемент — это размер i-го измерения тензора.
публичный абстрактный int[] shapeSignature ()
Возвращает исходную форму тензора, т. е. размеры каждого измерения — до того, как было выполнено изменение размера. Неизвестные размеры обозначаются значением -1.
Возврат
- массив, где i-й элемент — это размер i-го измерения тензора.