Ayuda a proteger la Gran Barrera de Coral con TensorFlow en Kaggle Únete Challenge

Escribir documentación

Para contribuir a tfhub.dev, se debe proporcionar la documentación en formato Markdown. Para una descripción completa del proceso de los modelos que contribuyen a tfhub.devver el aportar un modelo de guía.

Tipos de documentación de Markdown

Hay 3 tipos de documentación de rebajas utilizados en tfhub.dev:

Organización de contenido

Se requiere la siguiente organización de contenidos al contribuir a la TensorFlow Hub GitHub repositorio:

  • cada directorio editor está en el assets/docs directorio
  • cada directorio editor contiene opcionales models y collections directorios
  • cada modelo debe tener su propio directorio bajo assets/docs/<publisher_name>/models
  • cada colección debe tener su propio directorio bajo assets/docs/<publisher_name>/collections

Las rebajas del editor no están versionadas, mientras que los modelos pueden tener diferentes versiones. Cada versión de modelo requiere un archivo de Markdown separado con el nombre de la versión que describe (es decir, 1.md, 2). Las colecciones tienen versiones, pero solo se admite una única versión (1).

Todas las versiones de modelo para un modelo determinado deben ubicarse en el directorio de modelos.

A continuación se muestra una ilustración sobre cómo está organizado el contenido de Markdown:

assets/docs
├── <publisher_name_a>
│   ├── <publisher_name_a>.md  -> Documentation of the publisher.
│   └── models
│       └── <model_name>       -> Model name with slashes encoded as sub-path.
│           ├── 1.md           -> Documentation of the model version 1.
│           └── 2.md           -> Documentation of the model version 2.
├── <publisher_name_b>
│   ├── <publisher_name_b>.md  -> Documentation of the publisher.
│   ├── models
│   │   └── ...
│   └── collections
│       └── <collection_name>
│           └── 1.md           -> Documentation for the collection.
├── <publisher_name_c>
│   └── ...
└── ...

Formato de rebajas del editor

La documentación del editor se declara en el mismo tipo de archivos de rebajas que los modelos, con ligeras diferencias sintácticas.

La ubicación correcta para el archivo de Publisher en el repositorio TensorFlow Hub es: tfhub.dev/ activos / docs / <PUBLISHER_ID> / <publisher_id.md>

Consulte el ejemplo de documentación mínima del editor para el editor "vtab":

# Publisher vtab
Visual Task Adaptation Benchmark

[![Icon URL]](https://storage.googleapis.com/vtab/vtab_logo_120.png)

## VTAB
The Visual Task Adaptation Benchmark (VTAB) is a diverse, realistic and
challenging benchmark to evaluate image representations.

El ejemplo anterior especifica la identificación del editor, el nombre del editor, la ruta al icono que se utilizará y una documentación de rebajas de formato libre más larga. Tenga en cuenta que la identificación del editor solo debe contener letras minúsculas, dígitos y guiones.

Directriz del nombre del editor

Su nombre de editor puede ser su nombre de usuario de GitHub o el nombre de la organización de GitHub que administra.

Formato de rebajas de página de modelo

La documentación del modelo es un archivo Markdown con alguna sintaxis complementaria. Véase el siguiente ejemplo para un ejemplo mínimo o un archivo de ejemplo más realista de rebajas .

Documentación de ejemplo

Una documentación de modelo de alta calidad contiene fragmentos de código, información sobre cómo se entrenó el modelo y su uso previsto. También debe hacer uso de las propiedades de metadatos específicos del modelo explica a continuación que los usuarios puedan encontrar sus modelos en tfhub.dev más rápido.

# Module google/text-embedding-model/1

Simple one sentence description.

<!-- asset-path: https://path/to/text-embedding-model/model.tar.gz -->
<!-- task: text-embedding -->
<!-- fine-tunable: true -->
<!-- format: saved_model_2 -->

## Overview

Here we give more information about the model including how it was trained,
expected use cases, and code snippets demonstrating how to use the model:

```
Code snippet demonstrating use (e.g. for a TF model using the tensorflow_hub library)

import tensorflow_hub as hub

model = hub.KerasLayer(<model name>)
inputs = ...
output = model(inputs)
```

Modele implementaciones y agrupaciones de implementaciones

tfhub.dev permite la publicación TF.js, TFLite y Coral despliegues de un TensorFlow SavedModel.

La primera línea del archivo Markdown debe especificar el tipo de formato:

  • # Module publisher/model/version de SavedModels
  • # Tfjs publisher/model/version de TF.js despliegues
  • # Lite publisher/model/version para implementaciones Lite
  • # Coral publisher/model/version para los despliegues de Coral

Es una buena idea para estos formatos diferentes de un mismo modelo conceptual que aparecen en la misma página modelo sobre tfhub.dev. Para asociar una implementación de TF.js, TFLite o Coral determinada a un modelo de modelo guardado de TensorFlow, especifica la etiqueta del modelo principal:

<!-- parent-model: publisher/model/version -->

A veces, es posible que desee publicar una o más implementaciones sin un modelo guardado de TensorFlow. En ese caso, tendrá que crear un modelo de marcador de posición y especificar su mango en el parent-model etiqueta. El marcador de posición de rebajas es idéntica a TensorFlow modelo de rebajas, salvo que la primera línea es: # Placeholder publisher/model/version y que no requiere el asset-path de propiedad.

Propiedades de metadatos específicas de Model Markdown

Los archivos de Markdown pueden contener propiedades de metadatos. Se utilizan para proporcionar filtros y etiquetas para ayudar a los usuarios a encontrar su modelo. Los atributos de metadatos se incluyen como comentarios de Markdown después de la breve descripción del archivo de Markdown, p. Ej.

# Module google/universal-sentence-encoder/1
Encoder of greater-than-word length text trained on a variety of data.

<!-- task: text-embedding -->
...

Se admiten las siguientes propiedades de metadatos:

  • format : Para los modelos TensorFlow: el formato TensorFlow Eje del modelo. Los valores válidos son hub cuando el modelo se exportó a través de la herencia formato de cubo de TF1 o saved_model_2 cuando el modelo se exportó a través de un guardadas Modelo TF2 .
  • asset-path : la ruta de acceso remoto de lectura global de los activos de modelo reales para subir, como a un segmento de Google Cloud Storage. La dirección URL se debe permitir que se encontraron a partir por el archivo robots.txt (por esta razón, no se admite ya que está prohibido por "https://github.com/ / releases / download /.." Https: // github .com / robots.txt ). Vea a continuación para obtener más información sobre el tipo de archivo y el contenido esperado.
  • parent-model : Para TF.js / modelos TFLite / coral: mango de la acompaña SavedModel / marcador de posición
  • fine-tunable : Boolean, si el modelo puede ser afinado por el usuario.
  • task : el dominio del problema, por ejemplo "text-incrustación". Todos los valores soportados se definen en task.yaml .
  • dataset : el conjunto de datos del modelo fue entrenado en, por ejemplo, "Wikipedia". Todos los valores soportados se definen en dataset.yaml .
  • network-architecture : la arquitectura de red del modelo se basa en, por ejemplo, "MobileNet-v3". Todos los valores soportados se definen en network_architecture.yaml .
  • language : el código del idioma de un modelo de texto fue entrenado en, por ejemplo, "en". Todos los valores soportados se definen en language.yaml .
  • license : La licencia que se aplica al modelo, por ejemplo, "MIT". La licencia por defecto asumida por un modelo publicado es Apache 2.0 License . Todos los valores soportados se definen en license.yaml . Tenga en cuenta que la custom de licencia requerirá caso especial consideración por caso.
  • colab : HTTPS URL a un ordenador portátil que muestra cómo el modelo puede ser usado o entrenado ( ejemplo de bigbigan-resnet50 ). Debe conducir a colab.research.google.com . Tenga en cuenta que los cuadernos Jupyter alojados en GitHub se puede acceder a través de <a href="https://colab.research.google.com/github/ORGANIZATION/PROJECT/">https://colab.research.google.com/github/ORGANIZATION/PROJECT/</a> blob/master/.../my_notebook.ipynb .
  • demo : HTTPS URL para un sitio web que muestra cómo el modelo TF.js se puede utilizar ( ejemplo de posenet ).
  • interactive-visualizer : nombre del visualizador que debe ser empotrado en la página del modelo, por ejemplo, "visión". La visualización de un visualizador permite a los usuarios explorar las predicciones del modelo de forma interactiva. Todos los valores soportados se definen en interactive_visualizer.yaml .

Los tipos de documentación de Markdown admiten diferentes propiedades de metadatos obligatorios y opcionales:

Escribe Requerido Opcional
Editor
Colección tarea conjunto de datos, idioma, arquitectura de red
Marcador de posición tarea conjunto de datos, ajuste fino, visualizador interactivo, idioma, licencia, arquitectura de red
Modelo guardado ruta de activo, tarea, ajuste fino, formato colab, conjunto de datos, visualizador interactivo, idioma, licencia, arquitectura de red
Tfjs ruta-activo, modelo-padre colab, demo, visualizador interactivo
Lite ruta-activo, modelo-padre colab, visualizador interactivo
Coral ruta-activo, modelo-padre colab, visualizador interactivo

Contenido de activos específico del modelo

Dependiendo del tipo de modelo, se esperan los siguientes tipos de archivos y contenidos:

  • SavedModel: un archivo tar.gz que contiene contenido como este:
saved_model.tar.gz
├── assets/            # Optional.
├── assets.extra/      # Optional.
├── variables/
│     ├── variables.data-?????-of-?????
│     └──  variables.index
├── saved_model.pb
├── keras_metadata.pb  # Optional, only required for Keras models.
└── tfhub_module.pb    # Optional, only required for TF1 models.
  • TF.js: un archivo tar.gz que contiene contenido como este:
tf_js_model.tar.gz
├── group*
├── *.json
├── *.txt
└── *.pb
  • TFLite: un archivo .tflite
  • Coral: un archivo .tflite

Para archivos tar.gz: asumiendo sus archivos de modelo están en el directorio my_model (por ejemplo my_model/saved_model.pb para SavedModels o my_model/model.json para los modelos TF.js), se puede crear un archivo tar.gz válida utilizando el alquitrán de herramientas a través de cd my_model && tar -czvf ../model.tar.gz * .

Generalmente, todos los archivos y directorios (ya sea comprimidos o sin comprimir) deben comenzar con un carácter de palabra, por ejemplo, los puntos no son un prefijo válido de nombres de archivos / directorios.

Formato de rebajas de página de colección

Las colecciones son una característica de tfhub.dev que permite a los editores para agrupar modelos relacionados juntos para mejorar la experiencia de búsqueda del usuario.

Ver la lista de todas las colecciones entfhub.dev.

La ubicación correcta para el archivo de colección en el repositorio github.com/tensorflow/tfhub.dev es activos / docs / PUBLISHER_NAME> / colecciones / colección <> / 1 .Maryland

Aquí está un ejemplo mínimo que entraría en activos / docs / VTAB / colecciones / referencia / 1 .md. Tenga en cuenta que el nombre de la colección en la primera línea no incluye las collections/ parte que se incluye en la ruta de archivo.

# Collection vtab/benchmark/1
Collection of visual representations that have been evaluated on the VTAB
benchmark.

<!-- task: image-feature-vector -->

## Overview
This is the list of visual representations in TensorFlow Hub that have been
evaluated on VTAB. Results can be seen in
[google-research.github.io/task_adaptation/](https://google-research.github.io/task_adaptation/)

#### Models
|                   |
|-------------------|
| [vtab/sup-100/1](https://tfhub.dev/vtab/sup-100/1)   |
| [vtab/rotation/1](https://tfhub.dev/vtab/rotation/1) |
|------------------------------------------------------|

El ejemplo especifica el nombre de la colección, una descripción breve de una oración, metadatos del dominio del problema y documentación de rebajas de formato libre.