Model protokol hosting

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Dokumen ini menjelaskan konvensi URL yang digunakan saat menghosting semua jenis model di l10n-tfhub.dev l10n - model TFJS, TF Lite, dan TensorFlow. Ini juga menjelaskan protokol berbasis HTTP(S) yang diterapkan oleh pustaka tensorflow_hub untuk memuat model TensorFlow dari l10ntfhub.dev l10n dan layanan yang kompatibel ke dalam program TensorFlow.

Fitur utamanya adalah menggunakan URL yang sama dalam kode untuk memuat model dan di browser untuk melihat dokumentasi model.

Konvensi URL umum

l10n-tfhub.dev l10n mendukung format URL berikut:

  • Penerbit TF Hub ikuti https://tfhub.dev/<publisher>
  • Koleksi TF Hub ikuti https://tfhub.dev/<publisher>/collection/<collection_name>
  • Model TF Hub memiliki url berversi https://tfhub.dev/<publisher>/<model_name>/<version> dan url tidak berversi https://tfhub.dev/<publisher>/<model_name> yang menyelesaikan model versi terbaru.

Model TF Hub dapat diunduh sebagai aset terkompresi dengan menambahkan parameter URL ke l10n-tfhub.dev l10n URL model. Namun, parameter URL yang diperlukan untuk mencapainya bergantung pada jenis model:

  • Model TensorFlow (format SavedModel dan TF1 Hub): tambahkan ?tf-hub-format=compressed ke url model TensorFlow.
  • Model TFJS: tambahkan ?tfjs-format=compressed ke url model TFJS untuk mengunduh file terkompresi atau /model.json?tfjs-format=file dibaca jika dari penyimpanan jarak jauh.
  • Model TF Lite: tambahkan ?lite-format=tflite ke url model TF Lite.

Sebagai contoh:

Jenis URL model Jenis unduhan parameter URL Unduh URL
TensorFlow (Model Tersimpan, format Hub TF1) https:// l10n-tfhub.dev l10n/google/spice/2 .tar.gz ?tf-hub-format=terkompresi https://l10n-tfhub.dev l10n/google/spice/2?tf-hub-format=compressed
TF Lite https:// l10n-tfhub.dev l10n/google/lite-model/spice/1 .tflite ?format-lite=tflite https://l10n-tfhub.dev l10n/google/lite-model/spice/1?lite-format=tflite
TF.js https://l10n-tfhub.dev l10n/google/tfjs-model/spice/2/default/1 .tar.gz ?tfjs-format=terkompresi https:// l10n-tfhub.dev l10n/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

Selain itu, beberapa model juga di-host dalam format yang dapat dibaca langsung dari penyimpanan jarak jauh tanpa diunduh. Ini sangat berguna jika tidak ada penyimpanan lokal yang tersedia, seperti menjalankan model TF.js di browser atau memuat SavedModel di Colab . Sadarilah bahwa membaca model yang dihosting dari jarak jauh tanpa diunduh secara lokal dapat meningkatkan latensi.

Jenis URL model Jenis respons parameter URL URL permintaan
TensorFlow (Model Tersimpan, format Hub TF1) https://l10n-tfhub.dev l10n/google/spice/2 String (Jalur ke folder GCS tempat model yang tidak terkompresi disimpan) ?tf-hub-format=tidak terkompresi https:// l10n-tfhub.dev l10n/google/spice/2?tf-hub-format=uncompressed
TF.js https://l10n-tfhub.dev l10n/google/tfjs-model/spice/2/default/1 .json ?tfjs-format=file https://l10n-tfhub.dev l10n/google/tfjs-model/spice/2/default/1/model.json?tfjs-format=file

protokol perpustakaan tensorflow_hub

Bagian ini menjelaskan cara kami menghosting model di l10n-tfhub.dev l10n untuk digunakan dengan pustaka tensorflow_hub. Jika Anda ingin menghosting repositori model Anda sendiri untuk bekerja dengan pustaka tensorflow_hub, layanan distribusi HTTP Anda harus menyediakan implementasi protokol ini.

Perhatikan bahwa bagian ini tidak membahas hosting model TF Lite dan TFJS karena tidak diunduh melalui pustaka tensorflow_hub . Untuk informasi lebih lanjut tentang hosting jenis model ini, silakan periksa di atas .

Hosting Terkompresi

Model disimpan di l10n-tfhub.dev l10n sebagai file tar.gz terkompresi. Secara default, pustaka tensorflow_hub secara otomatis mengunduh model terkompresi. Mereka juga dapat diunduh secara manual dengan menambahkan ?tf-hub-format=compressed ke url model, misalnya:

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

Akar arsip adalah akar dari direktori model dan harus berisi SavedModel, seperti dalam contoh ini:

# 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

Tarball untuk digunakan dengan format TF1 Hub lama juga akan berisi file ./tfhub_module.pb .

Saat salah satu API pemuatan model pustaka tensorflow_hub dipanggil ( hub.KerasLayer , hub.load , dll) pustaka mengunduh model, membuka kompresi model dan menyimpannya di cache secara lokal. Pustaka tensorflow_hub mengharapkan URL model diversi dan konten model dari versi tertentu tidak dapat diubah, sehingga dapat di-cache tanpa batas waktu. Pelajari lebih lanjut tentang model cache .

Hosting Tidak Terkompresi

Ketika variabel lingkungan TFHUB_MODEL_LOAD_FORMAT atau flag baris perintah --tfhub_model_load_format disetel ke UNCOMPRESSED , model dibaca langsung dari penyimpanan jarak jauh (GCS) alih-alih diunduh dan tidak dikompresi secara lokal. Ketika perilaku ini diaktifkan, perpustakaan menambahkan ?tf-hub-format=uncompressed ke URL model. Permintaan tersebut mengembalikan jalur ke folder di GCS yang berisi file model yang tidak dikompresi. Sebagai contoh,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
kembali
gs://tfhub-modules/google/spice/2/uncompressed di badan respons 303. Pustaka kemudian membaca model dari tujuan GCS tersebut.