Declaración CREATE MODEL para importar modelos de TensorFlow

Declaración CREATE MODEL para TensorFlow

Para importar un modelo de TensorFlow existente en BigQuery desde Cloud Storage, usa la declaración CREATE MODEL de BigQuery ML con el tipo de modelo de TensorFlow.

Sintaxis 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

Crea un nuevo modelo de BigQuery ML en el conjunto de datos especificado. Para los modelos de TensorFlow, BigQuery ML importa el modelo de TensorFlow existente y lo convierte en un modelo de BigQuery ML. Si el nombre del modelo existe, CREATE MODEL muestra un error.

CREATE MODEL IF NOT EXISTS

Crea un nuevo modelo importado solo si el modelo no existe actualmente en el conjunto de datos especificado.

CREATE OR REPLACE MODEL

Crea un nuevo modelo importado y reemplaza cualquier modelo existente con el mismo nombre en el conjunto de datos especificado.

model_name

model_name es el nombre del modelo de BigQuery ML que estás creando o reemplazando. El nombre del modelo debe ser único por conjunto de datos: ningún otro modelo o tabla puede tener el mismo nombre. El nombre del modelo debe seguir las mismas reglas de denominación que una tabla de BigQuery. Un nombre de modelo puede contener lo siguiente:

  • Hasta 1,024 caracteres
  • Letras en mayúscula o minúscula, números y guiones bajos

model_name no distingue entre mayúsculas y minúsculas.

Si no tienes un proyecto predeterminado configurado, antepone el ID del proyecto al nombre del modelo en el siguiente formato, incluidos los acentos graves:

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

Por ejemplo:

`myproject.mydataset.mymodel`

CREATE MODEL admite las siguientes opciones:

MODEL_TYPE

Sintaxis

MODEL_TYPE = 'TENSORFLOW'

Descripción

Especifica el tipo de modelo. Esta opción es obligatoria.

MODEL_PATH

Sintaxis

MODEL_PATH = string_value

Descripción

Especifica el URI de Cloud Storage del modelo de TensorFlow que se debe importar. Esta opción es obligatoria para los modelos de TensorFlow.

string_value es el URI de un depósito de Cloud Storage que contiene el modelo para importar.

BigQuery ML importa el modelo de Cloud Storage con las credenciales del usuario que envió la declaración CREATE MODEL.

Ejemplo

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

Entradas compatibles

La declaración CREATE MODEL admite los siguientes tipos de datos para etiquetas de entrada y columnas de división de datos.

Tipos de datos admitidos para entradas y salidas del modelo de TensorFlow

BigQuery ML convierte determinadas entradas y salidas del modelo de TensorFlow en tipos de BigQuery ML. Algunos tipos de entrada y salida del modelo de TensorFlow no son compatibles. Los tipos de datos admitidos para las entradas y salidas del modelo de TensorFlow importado incluyen los siguientes:

Tipos de TensorFlow Compatible 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 No compatible N/A
tf.qint8, tf.quint8, tf.qint16, tf.quint16, tf.qint32 No compatible N/A
tf.bool Compatible BOOL
tf.string Compatible STRING
tf.resource No compatible N/A
tf.variant No compatible N/A

Limitaciones

Las declaraciones CREATE MODEL para los modelos de TensorFlow deben cumplir con las siguientes reglas:

  • El modelo de TensorFlow ya debe existir para que pueda importarse a BigQuery ML.
  • Los modelos deben almacenarse en Cloud Storage.
  • Los modelos están inmovilizados en el momento de la creación del modelo.
  • Los modelos de TensorFlow deben estar en formato de modelo guardado.
  • Actualmente, las siguientes funciones no son compatibles con los siguientes modelos de TensorFlow: ML.CONFUSION, ML.EVALUATE, ML.FEATURE, ML.ROC_CURVE, ML.TRAINING_INFO y ML.WEIGHTS.
  • Los modelos se limitan a 250 MB de tamaño.
  • No se admiten modelos entrenados con una versión de GraphDef anterior a la versión 20.
  • No se admiten modelos entrenados con una versión no publicada de TensorFlow.
  • Solo se admiten las operaciones principales de TensorFlow: los modelos que usan operaciones personalizadas o tf.contrib no son compatibles.

Ejemplos de CREATE MODEL

En el siguiente ejemplo, se crean modelos con el nombre mymodel en mydataset en tu proyecto predeterminado.

Importa un modelo de TensorFlow

En el siguiente ejemplo, se importa un modelo de TensorFlow en BigQuery ML como modelo de BigQuery ML. En el ejemplo, se supone que hay un modelo de TensorFlow existente ubicado en gs://bucket/path/to/saved_model/*.

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