Model barındırma protokolü

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bu belge, tfhub.dev - TFJS, TF Lite ve TensorFlow modellerinde tüm model türlerini barındırırken kullanılan URL kurallarını açıklar. Ayrıca, TensorFlow modellerini tfhub.dev ve uyumlu hizmetlerden TensorFlow programlarına yüklemek için tensorflow_hub kitaplığı tarafından uygulanan HTTP(S) tabanlı protokolü de açıklar.

Anahtar özelliği, bir modeli yüklemek için kodda aynı URL'yi ve model belgelerini görüntülemek için bir tarayıcıda kullanmaktır.

Genel URL kuralları

tfhub.dev , aşağıdaki URL biçimlerini destekler:

  • TF Hub yayıncıları şu adresi takip eder https://tfhub.dev/<publisher>
  • TF Hub koleksiyonları şu adresi takip eder https://tfhub.dev/<publisher>/collection/<collection_name>
  • TF Hub modelleri, https://tfhub.dev/<publisher>/<model_name>/<version> ve sürümlenmemiş url https://tfhub.dev/<publisher>/<model_name> , modelin en son sürümüne çözümlenir.

TF Hub modelleri, tfhub.dev model URL'sine URL parametreleri eklenerek sıkıştırılmış varlıklar olarak indirilebilir. Ancak, bunu elde etmek için gereken URL parametreleri model türüne bağlıdır:

  • TensorFlow modelleri (hem SavedModel hem de TF1 Hub biçimleri): TensorFlow model url'sine ?tf-hub-format=compressed öğesini ekleyin.
  • TFJS modelleri: sıkıştırılmış dosyayı indirmek için TFJS model ?tfjs-format=compressed ekleyin veya uzak depolamadan ise okumak için /model.json?tfjs-format=file .
  • TF lite modelleri: TF Lite model ?lite-format=tflite ekleyin.

Örneğin:

Tip Model URL'si İndirme türü URL parametresi URL'yi indir
TensorFlow (SavedModel, TF1 Hub formatı) https://tfhub.dev/google/spice/2 .tar.gz ?tf-hub-format=sıkıştırılmış https://tfhub.dev/google/spice/2?tf-hub-format=compressed
TF Lite 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=sıkıştırılmış https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

Ek olarak, bazı modeller indirilmeden doğrudan uzak depolama biriminden okunabilen bir biçimde de barındırılır. Bu, tarayıcıda bir TF.js modeli çalıştırmak veya Colab'a bir SavedModel yüklemek gibi yerel depolama yoksa özellikle yararlıdır. Yerel olarak indirilmeden uzaktan barındırılan okuma modellerinin gecikmeyi artırabileceğini unutmayın.

Tip Model URL'si Yanıt türü URL parametresi İstek URL'si
TensorFlow (SavedModel, TF1 Hub formatı) https://tfhub.dev/google/spice/2 Dize (sıkıştırılmamış modelin depolandığı GCS klasörünün yolu) ?tf-hub-format=sıkıştırılmamış 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=dosya https://tfhub.dev/google/tfjs-model/spice/2/default/1/model.json?tfjs-format=file

tensorflow_hub kitaplık protokolü

Bu bölüm, tensorflow_hub kitaplığıyla kullanım için modelleri tfhub.dev-placeholder71 üzerinde nasıl barındırdığımızı açıklar. Tensorflow_hub kitaplığıyla çalışmak için kendi model deponuzu barındırmak istiyorsanız, HTTP(s) dağıtım hizmetiniz bu protokolün bir uygulamasını sağlamalıdır.

Bu bölümün, tensorflow_hub kitaplığı aracılığıyla indirilmedikleri için TF Lite ve TFJS modellerinin barındırılmasına değinmediğini unutmayın. Bu model türlerini barındırma hakkında daha fazla bilgi için lütfen yukarıyı kontrol edin.

Sıkıştırılmış Barındırma

Modeller, tfhub.devüzerinde sıkıştırılmış tar.gz dosyaları olarak depolanır. Varsayılan olarak, tensorflow_hub kitaplığı sıkıştırılmış modeli otomatik olarak indirir. Model URL'sine ?tf-hub-format=compressed eklenerek manuel olarak da indirilebilirler, örneğin:

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

Arşivin kökü, model dizininin köküdür ve bu örnekte olduğu gibi bir SavedModel içermelidir:

# 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

Eski TF1 Hub biçimiyle kullanılacak tarball'lar ayrıca bir ./tfhub_module.pb dosyası içerecektir.

tensorflow_hub kitaplık modeli yükleme API'lerinden biri çağrıldığında ( hub.KerasLayer , hub.load , vb.) kitaplık modeli indirir, modeli açar ve yerel olarak önbelleğe alır. tensorflow_hub kitaplığı, model URL'lerinin sürümlendirildiğini ve belirli bir sürümün model içeriğinin değişmez olmasını, böylece süresiz olarak önbelleğe alınabilmesini bekler. Modelleri önbelleğe alma hakkında daha fazla bilgi edinin.

Sıkıştırılmamış Barındırma

TFHUB_MODEL_LOAD_FORMAT ortam değişkeni veya komut satırı bayrağı --tfhub_model_load_format UNCOMPRESSED ayarlandığında, model yerel olarak indirilip sıkıştırılması yerine doğrudan uzak depolamadan (GCS) okunur. Bu davranış etkinleştirildiğinde kitaplık, model URL'sine ?tf-hub-format=uncompressed ekler. Bu istek, sıkıştırılmamış model dosyalarını içeren GCS'deki klasörün yolunu döndürür. Örnek olarak,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
İadeler
303 yanıtının gövdesinde gs://tfhub-modules/google/spice/2/uncompressed . Kitaplık daha sonra modeli bu GCS hedefinden okur.