Bu belgede , tfhub.dev - TFJS, TF Lite ve TensorFlow modellerinde tüm model türlerini barındırırken kullanılan URL kuralları açıklanmaktadır. Ayrıca, TensorFlow modellerini tfhub.dev'den ve uyumlu hizmetleri TensorFlow programlarına yüklemek için tensorflow_hub
kitaplığı tarafından uygulanan HTTP(S) tabanlı protokolü de açıklar.
Temel özelliği, bir modeli yüklemek için kodda ve model belgelerini görüntülemek için bir tarayıcıda aynı URL'yi kullanmaktır.
Genel URL kuralları
tfhub.dev aşağıdaki URL formatlarını destekler:
- TF Hub yayıncıları
<a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>
takip ediyor - TF Hub koleksiyonları
<a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/collection/<collection_name>
i takip ediyor - TF Hub modellerinde sürümlendirilmiş URL
<a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name>/<version>
ve sürümlenmemiş URL<a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name>
bulunur<a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name>
bu, modelin en son sürümüne çözümlenir.
TF Hub modelleri, URL parametrelerinin tfhub.dev model URL'sine eklenmesiyle sıkıştırılmış varlıklar olarak indirilebilir. Ancak bunu başarmak için gereken URL parametreleri model türüne bağlıdır:
- TensorFlow modelleri (hem SavedModel hem de TF1 Hub formatları): TensorFlow model URL'sine
?tf-hub-format=compressed
ekleyin. - TFJS modelleri: sıkıştırılmış dosyayı indirmek için TFJS model URL'sine
?tfjs-format=compressed
compressed ifadesini veya uzak depolama biriminden okumak için/model.json?tfjs-format=file
dosyasını ekleyin. - TF lite modelleri: TF Lite model URL'sine
?lite-format=tflite
ekleyin.
Örneğin:
Tip | Model URL'si | İndirme türü | URL parametresi | İndirme URL'si |
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 okunabilecek bir formatta da barındırılmaktadır. Bu, özellikle tarayıcıda bir TF.js modeli çalıştırmak veya Colab'a SavedModel yüklemek gibi yerel depolama alanı yoksa kullanışlıdır. Yerel olarak indirilmeden uzaktan barındırılan modelleri okumanın gecikmeyi artırabileceğini unutmayın.
Tip | Model URL'si | Yanıt türü | URL parametresi | URL'yi talep et |
TensorFlow (SavedModel, TF1 Hub formatı) | https://tfhub.dev/google/spice/2 | String (Sıkıştırılmamış modelin saklandığı 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 kütüphane protokolü
Bu bölümde, tensorflow_hub kitaplığıyla birlikte kullanılmak üzere modelleri tfhub.dev'de nasıl barındırdığımız açıklanmaktadır. Tensorflow_hub kitaplığıyla çalışmak üzere kendi model deponuzu barındırmak istiyorsanız, HTTP(ler) dağıtım hizmetinizin bu protokolün bir uygulamasını sağlaması gerekir.
tensorflow_hub
kitaplığı aracılığıyla indirilmediklerinden bu bölümün TF Lite ve TFJS modellerini barındırma konusunu ele almadığını 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'de sıkıştırılmış tar.gz dosyaları olarak saklanır. Varsayılan olarak tensorflow_hub kitaplığı sıkıştırılmış modeli otomatik olarak indirir. Ayrıca 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 formatıyla 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, sıkıştırılmış modeli açar ve onu yerel olarak önbelleğe alır. tensorflow_hub
kitaplığı, model URL'lerinin sürümlendirilmesini ve belirli bir sürümün model içeriğinin süresiz olarak önbelleğe alınabilmesi için değiştirilemez olmasını 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ı işareti --tfhub_model_load_format
UNCOMPRESSED
olarak ayarlandığında, model yerel olarak indirilip sıkıştırılması yerine doğrudan uzak depolama biriminden (GCS) okunur. Bu davranış etkinleştirildiğinde kitaplık, model URL'sine ?tf-hub-format=uncompressed
ifadesini 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,
<a href="https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed">https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed</a>
geri döner
gs://tfhub-modules/google/spice/2/uncompressed
303 yanıtının gövdesinde. Kütüphane daha sonra modeli söz konusu GCS hedefinden okur.