날짜를 저장하십시오! Google I / O가 5 월 18 일부터 20 일까지 반환됩니다. 지금 등록
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

모델 호스팅 프로토콜

이 문서는 tfhub.dev -TFJS, TF Lite 및 TensorFlow 모델에서 모든 모델 유형을 호스팅 할 때 사용되는 URL 규약을 설명합니다. 또한 tensorflow_hub 에서 TensorFlow 모델을로드하고 TensorFlow 프로그램으로 서비스를 비교 하기 위해 tensorflow_hub 라이브러리에서 구현 한 HTTP (S) 기반 프로토콜을 설명합니다.

주요 기능은 코드에서 동일한 URL을 사용하여 모델을로드하고 브라우저에서 모델 문서를 보는 것입니다.

일반 URL 규칙

tfhub.dev 은 다음 URL 형식을 지원합니다.

  • TF Hub 게시자는 https://tfhub.dev/<publisher> 팔로우합니다 https://tfhub.dev/<publisher>
  • TF Hub 컬렉션은 https://tfhub.dev/<publisher>/collection/<collection_name> 따릅니다 https://tfhub.dev/<publisher>/collection/<collection_name>
  • TF Hub 모델에는 버전이 지정된 URL https://tfhub.dev/<publisher>/<model_name>/<version> 및 버전없는 URL https://tfhub.dev/<publisher>/<model_name> 은 모델의 최신 버전으로 해석됩니다.

TF Hub 모델은 tfhub.dev 모델 URL에 URL 매개 변수를 추가하여 압축 된 자산으로 다운로드 할 수 있습니다. 그러나이를 달성하는 데 필요한 URL 매개 변수는 모델 유형에 따라 다릅니다.

  • TensorFlow 모델 (SavedModel 및 TF1 Hub 형식 모두) : TensorFlow 모델 URL에 ?tf-hub-format=compressed 를 추가합니다.
  • TFJS 모델 : TFJS 모델 URL에 ?tfjs-format=compressed 를 추가하여 압축 된 파일을 다운로드하거나 /model.json?tfjs-format=file 을 추가하여 원격 저장소에서 읽을 수 있습니다.
  • TF Lite 모델 : TF Lite 모델 URL에 ?lite-format=tflite 를 추가합니다.

예를 들면 :

유형 모델 URL 다운로드 유형 URL 매개 변수 URL 다운로드
TensorFlow (저장된 모델, TF1 허브 형식) https : //tfhub.dev/google/spice/2 .tar.gz ? tf-hub-format = compressed https : //tfhub.dev/google/spice/2? tf-hub-format = compressed
TF 라이트 https : //tfhub.dev/google/lite-model/spice/1 .tflite ? lite-format = tflite https : //tfhub.dev/google/lite-model/spice/1? lite-format = tflite
TF.js https : //tfhub.dev/google/tfjs-model/spice/2/default/1 .tar.gz ? tfjs-format = compressed https : //tfhub.dev/google/tfjs-model/spice/2/default/1? tfjs-format = compressed

또한 일부 모델은 다운로드하지 않고도 원격 저장소에서 직접 읽을 수있는 형식으로 호스팅됩니다. 같은 브라우저에서 TF.js 모델을 실행에 SavedModel로드로, 아니 로컬 스토리지를 사용할 수있는 경우에 특히 유용합니다 Colab을 . 로컬로 다운로드하지 않고 원격으로 호스팅되는 모델을 읽으면 대기 시간이 늘어날 수 있습니다.

유형 모델 URL 응답 유형 URL 매개 변수 URL 요청
TensorFlow (저장된 모델, TF1 허브 형식) https : //tfhub.dev/google/spice/2 문자열 (압축되지 않은 모델이 저장되는 GCS 폴더 경로) ? tf-hub-format = uncompressed https : //tfhub.dev/google/spice/2? tf-hub-format = uncompressed
TF.js https : //tfhub.dev/google/tfjs-model/spice/2/default/1 .json ? tfjs-format = file https : //tfhub.dev/google/tfjs-model/spice/2/default/1/model.json? tfjs-format = file

tensorflow_hub 라이브러리 프로토콜

이 섹션에서는 tensorflow_hub 라이브러리와 함께 사용하기 위해 tfhub.dev 에서 모델을 호스팅하는 방법을 설명합니다. tensorflow_hub 라이브러리와 함께 작동하도록 자체 모델 리포지토리를 호스팅하려면 HTTP (s) 배포 서비스가이 프로토콜의 구현을 제공해야합니다.

이 섹션에서는 TF Lite 및 TFJS 모델이 tensorflow_hub 라이브러리를 통해 다운로드되지 않으므로 호스팅에 대해서는 다루지 않습니다. 이러한 모델 유형 호스팅에 대한 자세한 내용은 위에서 확인하십시오.

압축 호스팅

모델은 압축 된 tar.gz 파일로 tfhub.dev 에 저장됩니다. 기본적으로 tensorflow_hub 라이브러리는 압축 된 모델을 자동으로 다운로드합니다. 모델 URL에 ?tf-hub-format=compressed 를 추가하여 수동으로 다운로드 할 수도 있습니다. 예를 들면 다음과 같습니다.

wget https://tfhub.dev/tensorflow/albert_en_xxlarge/1?tf-hub-format=compressed

아카이브의 루트는 모델 디렉토리의 루트이며 다음 예와 같이 저장된 모델을 포함해야합니다.

# Create a compressed model from a SavedModel directory.
$ tar -cz -f model.tar.gz --owner=0 --group=0 -C /tmp/export-model/ .

# Inspect files inside a compressed model
$ tar -tf model.tar.gz
./
./variables/
./variables/variables.data-00000-of-00001
./variables/variables.index
./assets/
./saved_model.pb

레거시 TF1 허브 형식 과 함께 사용하기위한 ./tfhub_module.pb 에는 ./tfhub_module.pb 파일도 포함됩니다.

tensorflow_hub 라이브러리 모델 로딩 API 중 하나가 호출되면 ( hub.KerasLayer , hub.load 등) 라이브러리는 모델을 다운로드하고 모델의 압축을 풀고 로컬로 캐시합니다. tensorflow_hub 라이브러리는 모델 URL의 버전이 지정되고 지정된 버전의 모델 콘텐츠가 변경 불가능하여 무기한 캐시 될 수 있다고 예상합니다. 캐싱 모델 에 대해 자세히 알아보십시오.

압축되지 않은 호스팅

환경 변수 TFHUB_MODEL_LOAD_FORMAT 또는 명령 줄 플래그 --tfhub_model_load_formatUNCOMPRESSED 로 설정된 경우 모델은 로컬로 다운로드 및 압축 해제되는 대신 원격 저장소 (GCS)에서 직접 읽습니다. 이 동작이 활성화되면 라이브러리는 ?tf-hub-format=uncompressed 를 모델 URL에 추가합니다. 이 요청은 압축되지 않은 모델 파일이 포함 된 GCS의 폴더 경로를 반환합니다. 예로서,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
보고
303 응답의 본문에 gs://tfhub-modules/google/spice/2/uncompressed . 그런 다음 라이브러리는 해당 GCS 대상에서 모델을 읽습니다.