Tensorflow Lite에서 사용되는 형식화된 다차원 배열입니다.
Tensor
의 기본 핸들은 NativeInterpreterWrapper
에서 관리하며 클라이언트에서 닫을 필요가 없습니다. 그러나 NativeInterpreterWrapper
가 닫히면 텐서 핸들이 무효화됩니다.
중첩 클래스
수업 | Tensor.QuantizationParams | TFLite 모델 스키마 파일 의 QuantizationParameters 테이블에 해당하는 양자화 매개변수입니다. |
공개 방법
추상 바이트 버퍼 | asReadOnlyBuffer () 텐서 데이터의 읽기 전용 ByteBuffer 보기를 반환합니다. |
추상 데이터 유형 | |
추상 정수 | numBytes () 텐서 데이터의 크기를 바이트 단위로 반환합니다. |
추상 정수 | numDimensions () Tensor의 차원 수( rank 라고도 함)를 반환합니다. |
추상 정수 | numElements () 텐서의 평면화된(1-D) 보기에서 요소 수를 반환합니다. |
Tensor.QuantizationParams 추상화 | quantizationParams () 소유 인터프리터 내에서 텐서의 양자화 매개변수를 반환합니다. |
추상 정수[] | |
추상 정수[] |
공개 방법
공개 추상 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 | 텐서 데이터가 할당되지 않은 경우. |
---|
공개 추상 정수 numBytes ()
텐서 데이터의 크기를 바이트 단위로 반환합니다.
공개 추상 int numDimensions ()
Tensor의 차원 수( rank 라고도 함)를 반환합니다.
스칼라의 경우 0, 벡터의 경우 1, 행렬의 경우 2, 3차원 텐서의 경우 3 등입니다.
공개 추상 int numElements ()
텐서의 평면화된(1-D) 보기에서 요소 수를 반환합니다.
공개 추상 Tensor.QuantizationParams quantizationParams ()
소유 인터프리터 내에서 텐서의 양자화 매개변수를 반환합니다.
양자화된 텐서에만 유효한 QuantizationParameters
가 있습니다. 양자화되지 않은 텐서의 경우 scale 및 zero_point 값은 모두 0입니다.
공개 추상 int[] shapeSignature ()
크기 조정이 수행되기 전의 Tensor의 원래 모양 , 즉 각 차원의 크기를 반환합니다. 알 수 없는 차원은 -1 값으로 지정됩니다.
보고
- i번째 요소가 텐서의 i번째 차원의 크기인 배열.