Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/es-419/hub/hosting.md
25115 views

Protocolo de alojamiento del
modelo

En este documento se describen las convenciones de URL usadas al alojar todos los tipos de modelos en tfhub.dev: modelos TFJS, TF Lite y TensorFlow. También se describe el protocolo basado en HTTP(S) que implementa la biblioteca tensorflow_hub para cargar modelos de TensorFlow desde tfhub.dev y servicios compatibles en programas de TensorFlow.

Su característica clave es usar la misma URL en el código para cargar un modelo y en un navegador para ver la documentación del modelo.

Convenciones generales de URL

tfhub.dev admite los siguientes formatos de URL:

  • Los editores de TF Hub siguen https://tfhub.dev/<publisher>

  • Las colecciones de TF Hub siguen https://tfhub.dev/<publisher>/collection/<collection_name>

  • Los modelos TF Hub tienen una URL versionada https://tfhub.dev/<publisher>/<model_name>/<version> y una URL no versionada https://tfhub.dev/<publisher>/<model_name> que se resuelve en la última versión del modelo.

Los modelos de TF Hub se pueden descargar como activos comprimidos agregando parámetros de URL a la URL del modelo tfhub.dev. Sin embargo, los parámetros de URL necesarios para lograrlo dependen del tipo de modelo:

  • Modelos de TensorFlow (formatos SavedModel y TF1 Hub): agregue ?tf-hub-format=compressed a la URL del modelo de TensorFlow.

  • Modelos TFJS: agregue ?tfjs-format=compressed a la URL del modelo TFJS para descargar el archivo comprimido o /model.json?tfjs-format=file para leerlo desde el almacenamiento remoto.

  • Modelos TF Lite: agregue ?lite-format=tflite a la URL del modelo TF Lite.

Por ejemplo:

Tipo URL del modelo Tipo de descarga Parámetro de URL Descargar URL
TensorFlow (SavedModel, formato TF1 Hub) https://tfhub.dev/google/spice/2 .tar.gz ?tf-hub-format=compressed 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=compressed https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

Además, algunos modelos también están alojados en un formato que se puede leer directamente desde el almacenamiento remoto sin necesidad de descargarlos. Esto es especialmente útil si no hay almacenamiento local disponible, como ejecutar un modelo TF.js en el navegador o cargar un SavedModel en Colab. Tenga en cuenta que leer modelos alojados de forma remota sin descargarlos localmente puede aumentar la latencia.

Tipo URL del modelo Tipo de respuesta Parámetro de URL URL de la solicitud
TensorFlow (SavedModel, formato TF1 Hub) https://tfhub.dev/google/spice/2 Cadena de texto (Ruta a la carpeta de GCS donde se almacena el modelo sin comprimir) ?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

Protocolo de la biblioteca tensorflow_hub

En esta sección se describe cómo alojamos modelos en tfhub.dev para usarlos con la biblioteca tensorflow_hub. Si quiere alojar su propio repositorio de modelos para trabajar con la biblioteca tensorflow_hub, su servicio de distribución HTTP debe proporcionar una implementación de este protocolo.

Tenga en cuenta que esta sección no aborda el alojamiento de los modelos TF Lite y TFJS, ya que no se descargan a través de la biblioteca tensorflow_hub. Para obtener más información sobre cómo alojar estos tipos de modelos, consulte lo que se menciona anteriormente.

Alojamiento comprimido

Los modelos se almacenan en tfhub.dev como archivos comprimidos tar.gz. De forma predeterminada, la biblioteca tensorflow_hub descarga el modelo comprimido automáticamente. También se pueden descargar manualmente al agregar ?tf-hub-format=compressed a la URL del modelo, por ejemplo:

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

La raíz del archivo es la raíz del directorio del modelo y debe contener un SavedModel, como en este ejemplo:

# 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

Los archivos tarball para usar con el formato TF1 Hub heredado también tendrán un archivo ./tfhub_module.pb.

Cuando se invoca una de las API de carga de modelos de la biblioteca tensorflow_hub (hub.KerasLayer, hub.load, etc.), la biblioteca descarga el modelo, lo descomprime y lo almacena en caché localmente. La biblioteca tensorflow_hub requiere que las URL del modelo tengan versiones y que el contenido del modelo de una versión determinada sea inmutable, de modo que pueda almacenarse en caché indefinidamente. Obtenga más información sobre almacenar modelos en caché.

Alojamiento sin comprimir

Cuando la variable de entorno TFHUB_MODEL_LOAD_FORMAT o el indicador de línea de comandos --tfhub_model_load_format se establece en UNCOMPRESSED, el modelo se lee directamente desde el almacenamiento remoto (GCS) en lugar de descargarlo y descomprimirlo localmente. Cuando este comportamiento está habilitado, la biblioteca agrega ?tf-hub-format=uncompressed a la URL del modelo. Esa solicitud devuelve la ruta a la carpeta en GCS que contiene los archivos del modelo sin comprimir. Como ejemplo,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
devoluciones
gs://tfhub-modules/google/spice/2/uncompressed en el cuerpo de la respuesta 303. Luego, la biblioteca lee el modelo desde ese destino GCS.