Version
Creates a new version of a model from a trained TensorFlow model. If the version created in the cloud by this call is the first deployed version of the specified model, it will be made the default version of the model. When you add a version to a model that already has one or more versions, the default version does not automatically change. If you want a new version to be the default, you must call projects.models.versions.setDefault.
Properties
Optional. Specifies a custom container to use for serving predictions. If you specify this field, then machineType
is required. If you specify this field, then deploymentUri
is optional. If you specify this field, then you must not specify runtimeVersion
, packageUris
, framework
, pythonVersion
, or predictionClass
.
The Cloud Storage URI of a directory containing trained model artifacts to be used to create the model version. See the /ai-platform/prediction/docs/deploying-models for more information. The total number of files under this directory must not exceed 1000. During projects.models.versions.create, AI Platform Prediction copies all files from the specified directory to a location managed by the service. From then on, AI Platform Prediction uses these copies of the model artifacts to serve predictions, not the original files in Cloud Storage, so this location is useful only as a historical record. If you specify container, then this field is optional. Otherwise, it is required. Learn /ai-platform/prediction/docs/custom-container-requirements#artifacts.
etag
is used for optimistic concurrency control as a way to help prevent simultaneous updates of a model from overwriting each other. It is strongly suggested that systems make use of the etag
in the read-modify-write cycle to perform model updates in order to avoid race conditions: An etag
is returned in the response to GetVersion
, and systems are expected to put that etag in the request to UpdateVersion
to ensure that their change will be applied to the model as intended.
Optional. The machine learning framework AI Platform uses to train this version of the model. Valid values are TENSORFLOW
, SCIKIT_LEARN
, XGBOOST
. If you do not specify a framework, AI Platform will analyze files in the deployment_uri to determine a framework. If you choose SCIKIT_LEARN
or XGBOOST
, you must also set the runtime version of the model to 1.4 or greater. Do not specify a framework if you're deploying a /ai-platform/prediction/docs/custom-prediction-routines or if you're using a /ai-platform/prediction/docs/use-custom-container.
Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models.
The AI Platform (Unified) Model
ID for the last model migration.
The last time this version was successfully migrated to AI Platform (Unified).
Optional. The type of machine on which to serve the model. Currently only applies to online prediction service. To learn about valid values for this field, read /ai-platform/prediction/docs/machine-types-online-prediction. If this field is not specified and you are using a /ai-platform/prediction/docs/regional-endpoints, then the machine type defaults to n1-standard-2
. If this field is not specified and you are using the global endpoint (ml.googleapis.com
), then the machine type defaults to mls1-c1-m2
.
Manually select the number of nodes to use for serving the model. You should generally use auto_scaling
with an appropriate min_nodes
instead, but this option is available if you want more predictable billing. Beware that latency and error rates will increase if the traffic exceeds that capability of the system to serve it based on the selected number of nodes.
Optional. Cloud Storage paths (gs://…
) of packages for /ml-engine/docs/tensorflow/custom-prediction-routines or /ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code. For a custom prediction routine, one of these packages must contain your Predictor class (see #Version.FIELDS.prediction_class). Additionally, include any dependencies used by your Predictor or scikit-learn pipeline uses that are not already included in your selected /ml-engine/docs/tensorflow/runtime-version-list. If you specify this field, you must also set #Version.FIELDS.runtime_version to 1.4 or greater.
Optional. The fully qualified name (module_name.class_name) of a class that implements the Predictor interface described in this reference field. The module containing this class should be included in a package provided to the #Version.FIELDS.package_uris. Specify this field if and only if you are deploying a /ml-engine/docs/tensorflow/custom-prediction-routines. If you specify this field, you must set #Version.FIELDS.runtime_version to 1.4 or greater and you must set machineType
to a /ml-engine/docs/machine-types-online-prediction. The following code sample provides the Predictor interface: class Predictor(object): """Interface for constructing custom predictors.""" def predict(self, instances, **kwargs): """Performs custom prediction. Instances are the decoded values from the request. They have already been deserialized from JSON. Args: instances: A list of prediction input instances. **kwargs: A dictionary of keyword args provided as additional fields on the predict request body. Returns: A list of outputs containing the prediction results. This list must be JSON serializable. """ raise NotImplementedError() @classmethod def from_path(cls, model_dir): """Creates an instance of Predictor using the given path. Loading of the predictor should be done in this method. Args: model_dir: The local directory that contains the exported model file along with any additional files uploaded when creating the version resource. Returns: An instance implementing this Predictor class. """ raise NotImplementedError() Learn more about /ml-engine/docs/tensorflow/custom-prediction-routines.
The version of Python used in prediction. The following Python versions are available: * Python '3.7' is available when runtime_version
is set to '1.15' or later. * Python '3.5' is available when runtime_version
is set to a version from '1.4' to '1.14'. * Python '2.7' is available when runtime_version
is set to '1.15' or earlier. Read more about the Python versions available for /ml-engine/docs/runtime-version-list.
Optional. Specifies paths on a custom container's HTTP server where AI Platform Prediction sends certain requests. If you specify this field, then you must also specify the container
field. If you specify the container
field and do not specify this field, it defaults to the following: ``json { "predict": "/v1/models/MODEL/versions/VERSION:predict", "health": "/v1/models/MODEL/versions/VERSION" } ``
See RouteMap for more details about these default values.