Instruction CREATE MODEL pour l'importation de modèles TensorFlow

Instruction CREATE MODEL pour TensorFlow

Pour importer un modèle TensorFlow existant dans BigQuery à partir de Cloud Storage, utilisez l'instruction BigQuery ML CREATE MODEL avec le type de modèle TensorFlow.

Syntaxe de CREATE MODEL

{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL}
model_name
[OPTIONS(MODEL_TYPE = 'TENSORFLOW', MODEL_PATH = string_value)];

CREATE MODEL

Crée un modèle BigQuery ML dans l'ensemble de données spécifié. Pour les modèles TensorFlow, BigQuery ML importe le modèle TensorFlow existant et le convertit en modèle BigQuery ML. Si le nom du modèle existe, CREATE MODEL renvoie une erreur.

CREATE MODEL IF NOT EXISTS

Crée un modèle importé uniquement si celui-ci n'existe pas déjà dans l'ensemble de données spécifié.

CREATE OR REPLACE MODEL

Crée un modèle importé et remplace tout modèle existant du même nom dans l'ensemble de données spécifié.

model_name

model_name correspond au nom du modèle BigQuery ML que vous créez ou remplacez. Le nom du modèle doit être unique pour chaque ensemble de données. Aucun autre modèle, ni table ne peut porter le même nom. Le nom du modèle doit respecter les mêmes règles de dénomination que celles des tables BigQuery. Un nom de modèle peut contenir les éléments suivants :

  • Jusqu'à 1 024 caractères
  • Des lettres majuscules ou minuscules, des chiffres et des traits de soulignement

model_name n'est pas sensible à la casse.

Si aucun projet par défaut n'est configuré, ajoutez l'ID du projet au début du nom du modèle au format suivant, en intégrant les accents graves :

`[PROJECT_ID].[DATASET].[MODEL]`

Exemple :

`myproject.mydataset.mymodel`

CREATE MODEL accepte les options suivantes :

MODEL_TYPE

Syntaxe

MODEL_TYPE = 'TENSORFLOW'

Description

Spécifie le type de modèle. Cette option est obligatoire.

MODEL_PATH

Syntaxe

MODEL_PATH = string_value

Description

Spécifie l'URI Cloud Storage du modèle TensorFlow à importer. Cette option est requise pour les modèles TensorFlow.

string_value correspond à l'URI d'un bucket Cloud Storage contenant le modèle à importer.

BigQuery ML importe le modèle à partir de Cloud Storage à l'aide des identifiants de l'utilisateur qui a envoyé l'instruction CREATE MODEL.

Exemple

MODEL_PATH = 'gs://bucket/path/to/saved_model/*'

Entrées compatibles

L'instruction CREATE MODEL accepte les types de données suivants pour l'étiquette d'entrée et les colonnes de répartition des données.

Types de données compatibles pour les entrées et sorties du modèle TensorFlow

BigQuery ML convertit certaines entrées et sorties du modèle TensorFlow en types BigQuery ML. Certains types d'entrées et sorties du modèle TensorFlow ne sont pas compatibles. Voici les types de données compatibles pour les entrées et sorties du modèle TensorFlow importé :

Types TensorFlow Compatibilité BigQuery ML type
tf.int8, tf.int16, tf.int32, tf.int64, tf.uint8, tf.uint16, tf.uint32, tf.uint64 Compatible INT64
tf.float16, tf.float32, tf.float64, tf.bfloat16 Compatible FLOAT64
tf.complex64, tf.complex128 Non compatible Non disponible
tf.qint8, tf.quint8, tf.qint16, tf.quint16, tf.qint32 Non compatible Non disponible
tf.bool Compatible BOOL
tf.string Compatible STRING
tf.resource Non compatible Non disponible
tf.variant Non compatible Non disponible

Limites

Les instructions CREATE MODEL pour les modèles TensorFlow doivent respecter les règles suivantes :

  • Le modèle TensorFlow doit exister avant de pouvoir être importé dans BigQuery ML.
  • Les modèles doivent être stockés dans Cloud Storage.
  • Les modèles sont figés au moment de la création du modèle.
  • Les modèles TensorFlow doivent être au format SavedModel.
  • Actuellement, les fonctions suivantes ne sont pas compatibles avec les modèles TensorFlow : ML.CONFUSION, ML.EVALUATE, ML.FEATURE, ML.ROC_CURVE, ML.TRAINING_INFO et ML.WEIGHTS.
  • La taille des modèles est limitée à 250 Mo.
  • Les modèles entraînés à l'aide d'une version de GraphDef antérieure à la version 20 ne sont pas compatibles.
  • Les modèles entraînés à l'aide d'une version non publiée de TensorFlow ne sont pas compatibles.
  • Seules les opérations TensorFlow principales sont compatibles ; les modèles qui utilisent des opérations tf.contrib ou personnalisées ne sont pas acceptés.

Exemples d'instructions CREATE MODEL

L'exemple suivant crée des modèles nommés mymodel dans mydataset dans votre projet par défaut.

Importer un modèle TensorFlow

L'exemple ci-dessous importe un modèle TensorFlow dans BigQuery ML en tant que modèle BigQuery ML. Pour cet exemple, nous supposons qu'il existe un modèle TensorFlow situé à l'emplacement gs://bucket/path/to/saved_model/*.

CREATE MODEL project_id:mydataset.mymodel
 OPTIONS(MODEL_TYPE='TENSORFLOW'
         MODEL_PATH="gs://bucket/path/to/saved_model/*")