TFLite 모델 FlatBuffer에서 메타데이터를 로드합니다.
TFLite 모델 FlatBuffer는 TFLite 모델 스키마 파일을 사용하여 생성할 수 있습니다.
일부 모델에는 모델이 수행하는 작업과 모델을 해석하는 방법에 대한 추가 정보를 기록하는 TFLite Metadata Flatbuffer가 포함되어 있습니다. TFLite 메타데이터 플랫버퍼는 TFLite 메타데이터 스키마 파일을 사용하여 생성할 수 있습니다.
TFLite 메타데이터 없이 모델 FlatBuffer를 전달할 수 있습니다. 그러나 TFLite 메타데이터에서 읽는 메서드를 호출하면 런타임 오류가 발생합니다.
마찬가지로 관련 파일 없이 FlatBuffer 모델을 전달할 수 있습니다. 그러나 관련 파일을 읽는 메서드를 호출하면 런타임 오류가 발생합니다.
TFLite 모델 FlatBuffer는 여러 하위 그래프를 지원하지만 TFLite Interpreter는 지금까지 단일 하위 그래프만 지원합니다. 자세한 내용은 변환 중 하위 그래프를 지정하는 방법에 대한 지침을 참조하세요. 따라서 MetadataExtractor
해당 메서드의 입력으로 하위 그래프 인덱스를 생략합니다.
중첩 클래스
수업 | MetadataExtractor.QuantizationParams | TFLite 모델 스키마 파일의 QuantizationParameters 테이블에 해당하는 양자화 매개변수입니다 . |
공공 생성자
공개 방법
입력스트림 | |
< 문자열 > 설정 | getAssociatedFileNames () 연관된 파일의 파일 이름을 가져옵니다. |
정수 | getInputTensorCount () 모델의 입력 텐서 수를 가져옵니다. |
텐서메타데이터 | getInputTensorMetadata (int inputIndex) inputIndex 로 지정된 입력 텐서에 대한 메타데이터를 가져옵니다. |
MetadataExtractor.QuantizationParams | getInputTensorQuantizationParams (int inputIndex) inputIndex 로 지정된 입력 텐서에 대한 양자화 매개변수를 가져옵니다. |
정수[] | getInputTensorShape (int inputIndex) inputIndex 사용하여 입력 텐서의 형태를 가져옵니다. |
바이트 | getInputTensorType (int inputIndex) inputIndex 사용하여 입력 텐서의 ERROR(/TensorType) 가져옵니다. |
모델메타데이터 | getModelMetadata () 모델 메타데이터에 대한 루트 핸들러를 가져옵니다. |
정수 | getOutputTensorCount () 모델의 출력 텐서 수를 가져옵니다. |
텐서메타데이터 | getOutputTensorMetadata (int 출력 인덱스) outputIndex 로 지정된 출력 텐서에 대한 메타데이터를 가져옵니다. |
MetadataExtractor.QuantizationParams | getOutputTensorQuantizationParams (int 출력 인덱스) outputIndex 로 지정된 출력 텐서에 대한 양자화 매개변수를 가져옵니다. |
정수[] | getOutputTensorShape (int 출력 인덱스) outputIndex 사용하여 출력 텐서의 형태를 가져옵니다. |
바이트 | getOutputTensorType (int 출력 인덱스) outputIndex 사용하여 출력 텐서의 ERROR(/TensorType) 가져옵니다. |
부울 | 메타데이터 () 모델에 메타데이터가 있으면 true 반환합니다. |
최종 부울 | isMinimumParserVersion만족 () 지정된 메타데이터 플랫버퍼에 필요한 최소 파서 버전이 이 MetadataExtractor 라이브러리가 사용하는 메타데이터 파서 버전보다 높거나 같은 경우 true 반환합니다. |
상속된 메서드
공공 생성자
공용 MetadataExtractor ( ByteBuffer 버퍼)
TFLite 모델 FlatBuffer를 사용하여 MetadataExtractor
생성합니다.
매개변수
완충기 | TFLite 모델 FlatBuffer |
---|
던지기
IllegalArgumentException | 모델의 입력 또는 출력 텐서 수가 메타데이터의 수와 일치하지 않는 경우 |
---|---|
IO예외 | 모델을 Zip 파일로 읽어들이는 중 오류가 발생하는 경우 |
공개 방법
공개 InputStream getAssociatedFile ( 문자열 파일 이름)
지정된 fileName
사용하여 압축된 관련 파일을 가져옵니다.
매개변수
파일 이름 | 연관된 파일의 이름 |
---|
보고
- 지정된 파일을 포함하는 원시 입력 스트림
던지기
IllegalStateException | 모델이 zip 파일이 아닌 경우 |
---|---|
IllegalArgumentException | 지정된 파일이 모델에 존재하지 않는 경우 |
공개 int getInputTensorCount ()
모델의 입력 텐서 수를 가져옵니다.
공개 TensorMetadata getInputTensorMetadata (int inputIndex)
inputIndex
로 지정된 입력 텐서에 대한 메타데이터를 가져옵니다.
매개변수
입력 인덱스 | 원하는 입력 텐서의 인덱스 |
---|
던지기
IllegalStateException | 이 모델에 모델 메타데이터가 포함되어 있지 않은 경우 |
---|
공개 MetadataExtractor.QuantizationParams getInputTensorQuantizationParams (int inputIndex)
inputIndex
로 지정된 입력 텐서에 대한 양자화 매개변수를 가져옵니다.
매개변수
입력 인덱스 | 원하는 입력 텐서의 인덱스 |
---|
공개 int[] getInputTensorShape (int inputIndex)
inputIndex
사용하여 입력 텐서의 형태를 가져옵니다.
매개변수
입력 인덱스 | 원하는 입력 텐서의 인덱스 |
---|
공개 바이트 getInputTensorType (int inputIndex)
inputIndex
사용하여 입력 텐서의 ERROR(/TensorType)
가져옵니다.
매개변수
입력 인덱스 | 원하는 입력 텐서의 인덱스 |
---|
공개 ModelMetadata getModelMetadata ()
모델 메타데이터에 대한 루트 핸들러를 가져옵니다.
던지기
IllegalStateException | 이 모델에 모델 메타데이터가 포함되어 있지 않은 경우 |
---|
공개 int getOutputTensorCount ()
모델의 출력 텐서 수를 가져옵니다.
공개 TensorMetadata getOutputTensorMetadata (int 출력 인덱스)
outputIndex
로 지정된 출력 텐서에 대한 메타데이터를 가져옵니다.
매개변수
출력 인덱스 | 원하는 출력 텐서의 인덱스 |
---|
던지기
IllegalStateException | 이 모델에 모델 메타데이터가 포함되어 있지 않은 경우 |
---|
공개 MetadataExtractor.QuantizationParams getOutputTensorQuantizationParams (int 출력 인덱스)
outputIndex
로 지정된 출력 텐서에 대한 양자화 매개변수를 가져옵니다.
매개변수
출력 인덱스 | 원하는 출력 텐서의 인덱스 |
---|
공개 int[] getOutputTensorShape (int 출력 인덱스)
outputIndex
사용하여 출력 텐서의 형태를 가져옵니다.
매개변수
출력 인덱스 | 원하는 출력 텐서의 인덱스 |
---|
공개 바이트 getOutputTensorType (int 출력 인덱스)
outputIndex
사용하여 출력 텐서의 ERROR(/TensorType)
가져옵니다.
매개변수
출력 인덱스 | 원하는 출력 텐서의 인덱스 |
---|
공개 부울 hasMetadata ()
모델에 메타데이터가 있으면 true
반환합니다. 그렇지 않으면 false
반환합니다.
공개 최종 부울 isMinimumParserVersionSatisfied ()
지정된 메타데이터 플랫버퍼에 필요한 최소 파서 버전이 이 MetadataExtractor 라이브러리가 사용하는 메타데이터 파서 버전보다 높거나 같은 경우 true
반환합니다. 이 경우 메타데이터 추출기 라이브러리를 사용하면 메타데이터의 모든 필드를 올바르게 구문 분석할 수 있습니다. 그렇지 않으면 false
반환합니다.
예를 들어 기본 메타데이터 파서 버전이 1.14.1
이라고 가정합니다.
- 필요한 최소 파서 버전이
1.14.1
또는1.14.0
과 같이 동일하거나 이전 버전인 경우true
반환합니다. 일부 메타데이터 플랫버퍼는 첫 번째 버전 릴리스 이전에 생성되기 때문에 Null 버전은 모든 숫자 버전보다 우선합니다. - 필요한 최소 파서 버전이
1.14.2
와 같이 최신 버전인 경우false
반환합니다.