Path: blob/master/site/ko/lite/guide/signatures.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
TensorFlow Lite의 서명
TensorFlow Lite는 TensorFlow 모델의 입력/출력 사양을 TensorFlow Lite 모델로 변환하는 것을 지원합니다. 입/출력 사양을 "서명"이라고 합니다. SavedModel을 구축하거나 구체적인 기능을 생성할 때 서명을 지정할 수 있습니다.
TensorFlow Lite의 서명은 다음 기능을 제공합니다.
TensorFlow 모델의 서명을 적용하여 변환된 TensorFlow Lite 모델의 입력 및 출력을 지정합니다.
단일 TensorFlow Lite 모델이 여러 진입점을 지원할 수 있습니다.
서명은 세 부분으로 구성됩니다.
입력: 서명의 입력 이름에서 입력 텐서로의 입력에 대한 매핑입니다.
출력: 서명의 출력 이름에서 출력 텐서로의 출력 매핑을 위한 맵입니다.
서명 키: 그래프의 진입점을 식별하는 이름입니다.
설정
예제 모델
TensorFlow 모델로 인코딩 및 디코딩과 같은 두 가지 작업이 있다고 가정해 보겠습니다.
서명 측면에서 위의 TensorFlow 모델은 다음과 같이 요약될 수 있습니다.
서명
키: 인코딩
입력: {"x"}
출력: {"encoded_result"}
서명
키: 디코딩
입력: {"x"}
출력: {"decoded_result"}
서명이 있는 모델 변환
TensorFlow Lite 변환기 API는 위의 서명 정보를 변환된 TensorFlow Lite 모델로 가져옵니다.
이 변환 기능은 TensorFlow 버전 2.7.0부터 모든 변환기 API에서 사용할 수 있습니다. 사용 예를 참조하세요.
SavedModel에서
Keras 모델에서
구체적인 기능에서
서명 실행
TensorFlow 추론 API는 서명 기반 실행을 지원합니다.
서명으로 지정된 입력 및 출력 이름을 통해 입력/출력 텐서에 액세스합니다.
서명 키로 식별되는 그래프의 각 진입점을 별도로 실행합니다.
SavedModel의 초기화 절차를 지원합니다.
Java, C++ 및 Python 언어 바인딩을 현재 사용할 수 있습니다. 아래 섹션의 예를 참조하세요.
Java
C++
Python
알려진 제한 사항
TFLite 인터프리터는 스레드 안전을 보장하지 않으므로 동일한 인터프리터의 서명 실행자는 동시에 실행되지 않습니다.
C/iOS/Swift에 대한 지원은 아직 제공되지 않습니다.
업데이트
버전 2.7
다중 서명 기능이 구현됩니다.
버전 2의 모든 변환기 API는 서명이 지원되는 TensorFlow Lite 모델을 생성합니다.
버전 2.5
서명 기능은
from_saved_model
변환기 API를 통해 사용할 수 있습니다.