Stay organized with collections Save and categorize content based on your preferences.
The CREATE MODEL statement for importing TensorFlow modelsThis document describes the CREATE MODEL
statement for importing TensorFlow models into BigQuery by using SQL. Alternatively, you can use the Google Cloud console user interface to create a model by using a UI (Preview) instead of constructing the SQL statement yourself.
For information about the supported SQL statements and functions for each model type, see End-to-end user journey for each model.
CREATE MODEL
syntax
{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL} model_name OPTIONS(MODEL_TYPE = 'TENSORFLOW', MODEL_PATH = string_value [, KMS_KEY_NAME = string_value ] );
CREATE MODEL
Creates and trains a new model in the specified dataset. If the model name exists, CREATE MODEL
returns an error.
CREATE MODEL IF NOT EXISTS
Creates and trains a new model only if the model doesn't exist in the specified dataset.
CREATE OR REPLACE MODEL
Creates and trains a model and replaces an existing model with the same name in the specified dataset.
model_name
The name of the model you're creating or replacing. The model name must be unique in the dataset: no other model or table can have the same name. The model name must follow the same naming rules as a BigQuery table. A model name can:
model_name
is not case-sensitive.
If you don't have a default project configured, then you must prepend the project ID to the model name in the following format, including backticks:
`[PROJECT_ID].[DATASET].[MODEL]`
For example, `myproject.mydataset.mymodel`.
MODEL_TYPE
Syntax
MODEL_TYPE = 'TENSORFLOW'
Description
Specifies the model type. This option is required.
MODEL_PATH
Syntax
MODEL_PATH = string_value
Description
Specifies the Cloud Storage URI of the TensorFlow model to import. This option is required.
Arguments
A STRING
value specifying the URI of a Cloud Storage bucket that contains the model to import.
BigQuery ML imports the model from Cloud Storage by using the credentials of the user who runs the CREATE MODEL
statement.
Example
MODEL_PATH = 'gs://bucket/path/to/saved_model/*'
KMS_KEY_NAME
Syntax
KMS_KEY_NAME = string_value
Description
The Cloud Key Management Service customer-managed encryption key (CMEK) to use to encrypt the model.
Arguments
A STRING
value containing the fully-qualified name of the CMEK. For example,
'projects/my_project/locations/my_location/keyRings/my_ring/cryptoKeys/my_key'
Supported data types for input and output columns
BigQuery ML converts some TensorFlow model input and output columns to BigQuery ML types, and some TensorFlow types aren't supported. Supported data types for input and output columns include the following:
TensorFlow types Supported BigQuery ML typetf.int8, tf.int16, tf.int32, tf.int64, tf.uint8, tf.uint16, tf.uint32, tf.uint64
Supported INT64
tf.float16, tf.float32, tf.float64, tf.bfloat16
Supported FLOAT64
tf.complex64, tf.complex128
Unsupported N/a tf.qint8, tf.quint8, tf.qint16, tf.quint16, tf.qint32
Unsupported N/A tf.bool
Supported BOOL
tf.string
Supported STRING
tf.resource
Unsupported N/A tf.variant
Unsupported N/A SparseTensor
of a supported TensorFlow type Supported A NULL
, the associated BigQuery ML type, or an ARRAY
of the associated BigQuery ML type. tf.train.Example
containing supported TensorFlow types Supported BigQuery ML automatically takes features and converts into a tf.train.Example
.
The model input columns can be either dense Tensors or SparseTensors; RaggedTensors aren't supported. You can pass SparseTensors as dense arrays and BigQuery ML automatically converts them into Sparse format to pass into TensorFlow.
If the model expects input columns in tf.train.Example
format, then BigQuery ML automatically determines the feature names and converts the input BigQuery columns into the model's expected format.
For information about supported locations, see Locations for non-remote models.
LimitationsImported TensorFlow models have the following limitations:
ML.CONFUSION
ML.EVALUATE
ML.FEATURE
ML.ROC_CURVE
ML.TRAINING_INFO
ML.WEIGHTS
tf.contrib
operations aren't supported.The following example imports a TensorFlow model into BigQuery ML as a BigQuery ML model. The example assumes that there is an existing TensorFlow model located at gs://bucket/path/to/saved_model/*
.
CREATE MODEL `project_id.mydataset.mymodel` OPTIONS(MODEL_TYPE='TENSORFLOW', MODEL_PATH="gs://bucket/path/to/saved_model/*")
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-11 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-11 UTC."],[[["The `CREATE MODEL` statement allows the import of existing TensorFlow models into BigQuery for use within BigQuery ML."],["The syntax requires specifying `MODEL_TYPE` as 'TENSORFLOW' and providing a `MODEL_PATH` to the Cloud Storage URI where the TensorFlow model is located."],["BigQuery ML supports a variety of TensorFlow data types, including integer, float, boolean, and string types, while some types such as complex, resource, variant and RaggedTensors are not supported."],["Imported TensorFlow models are subject to several limitations, such as being frozen at creation, must be in SavedModel format, and a size limit of 450 MB, among other limitations."],["The imported model can be managed using one of three statement variations: `CREATE MODEL` (fails if model exists), `CREATE MODEL IF NOT EXISTS` (only creates if model does not exist) and `CREATE OR REPLACE MODEL` (creates or replaces if it exists)."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4