TensorFlow Lite 변환기

TensorFlow Lite 변환기는 TensorFlow 모델을 사용하여 TensorFlow Lite FlatBuffer 파일(.tflite)을 생성합니다. 변환기는 저장된 모델 디렉터리, tf.keras 모델구체적 함수를 지원합니다.

TF 2.2의 새로운 기능

나이틀리 빌드 및 TF 2.2 안정화 버전에서 기본적으로 새 변환기 백엔드를 사용하도록 전환합니다. 전환하는 이유

  • Mask R-CNN, Mobile BERT를 포함한 새 모델 클래스의 변환 사용
  • 기능 제어 흐름 지원 추가(TensorFlow 2.x에서 기본적으로 사용 설정됨)
  • 원래 TensorFlow 노드 이름과 Python 코드를 추적하고 오류가 발생하는 경우 변환 중 노출
  • 기능 요청을 수용하기 쉽게 확장하는 Google의 최첨단 ML용 컴파일러 기술인 MLIR 활용
  • 알 수 없는 측정기준이 포함된 입력 텐서를 사용하는 모델을 위한 기본 지원 추가
  • 모든 기존 변환기 기능 지원

문제가 발생하는 경우

  • 'TFLiteConverter' 구성요소 라벨을 사용하여 GitHub 문제를 생성하세요. 다음을 포함합니다.
    • Python API를 사용하는 경우 변환기 또는 코드 실행에 사용되는 명령어
    • 변환기 호출의 출력
    • 변환기에 대한 입력 모델
    • 변환을 완료했지만 생성된 모델이 잘못되었다면 어떤 문제가 있는지 명시합니다.
      • 잘못된 결과 생성 또는 정확도 저하
      • 올바른 결과를 생성하지만 모델이 예상보다 느림(이전 변환기에서 생성된 모델)
  • allow_custom_ops 기능을 사용하는 경우 Python API명령줄 도구 문서 참조
  • --experimental_new_verter=false(tflite_convert 명령줄 도구에서) 또는 converter.experimental_new_converter=False(Python API에서)를 설정하여 이전 변환기로 전환

기기 배포

TensorFlow Lite FlatBuffer 파일은 클라이언트 기기(예: 휴대기기, 내장형 기기)에 배포되면 TensorFlow Lite 인터프리터를 사용하여 로컬로 실행됩니다. 이 변환 프로세스는 아래 다이어그램에 나와 있습니다.

TFLite 변환기 워크플로

모델 변환

TensorFlow Lite 변환기는 Python API에서 사용해야 합니다. Python API를 사용하면 모델 개발 파이프라인의 일부로 모델을 더 쉽게 변환할 수 있으며 초기에 호환성 문제를 완화할 수 있습니다. 또는 명령줄 도구가 기본 모델을 지원합니다.