REST Resource: projects.models.versions

Resource: Version

Represents a version of the model.

Each version is a trained model deployed in the cloud, ready to handle prediction requests. A model can have multiple versions. You can get information about all of the versions of a given model by calling projects.models.versions.list.

JSON representation
{
  "name": string,
  "description": string,
  "isDefault": boolean,
  "deploymentUri": string,
  "createTime": string,
  "lastUseTime": string,
  "runtimeVersion": string,
  "machineType": string,
  "state": enum(State),
  "errorMessage": string,
  "labels": {
    string: string,
    ...
  },
  "etag": string,
  "framework": enum(Framework),
  "pythonVersion": string,

  // Union field scaling can be only one of the following:
  "autoScaling": {
    object(AutoScaling)
  },
  "manualScaling": {
    object(ManualScaling)
  }
  // End of list of possible types for union field scaling.
}
Fields
name

string

Required.The name specified for the version when it was created.

The version name must be unique within the model it is created in.

description

string

Optional. The description specified for the version when it was created.

isDefault

boolean

Output only. If true, this version will be used to handle prediction requests that do not specify a version.

You can change the default version by calling projects.methods.versions.setDefault.

deploymentUri

string

Required. The Google Cloud Storage location of the trained model used to create the version. See the guide to model deployment for more information.

When passing Version to projects.models.versions.create the model service uses the specified location as the source of the model. Once deployed, the model version is hosted by the prediction service, so this location is useful only as a historical record. The total number of model files can't exceed 1000.

createTime

string (Timestamp format)

Output only. The time the version was created.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

lastUseTime

string (Timestamp format)

Output only. The time the version was last used for prediction.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

runtimeVersion

string

Optional. The Google Cloud ML runtime version to use for this deployment. If not set, Google Cloud ML will choose a version.

machineType

string

Optional. The type of machine on which to serve the model. Currently only applies to online prediction service. The following are currently supported and will be deprecated in Beta release. mls1-highmem-1 1 core 2 Gb RAM mls1-highcpu-4 4 core 2 Gb RAM The following are available in Beta: mls1-c1-m2 1 core 2 Gb RAM Default mls1-c4-m2 4 core 2 Gb RAM

state

enum(State)

Output only. The state of a version.

errorMessage

string

Output only. The details of a failure or a cancellation.

labels

map (key: string, value: string)

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.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string (bytes format)

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 versions.get, and systems are expected to put that etag in the request to versions.patch to ensure that their change will be applied to the model as intended.

A base64-encoded string.

framework

enum(Framework)

Optional. The machine learning framework Cloud ML Engine uses to train this version of the model. Valid values are TENSORFLOW, SCIKIT_LEARN, and XGBOOST. If you do not specify a framework, Cloud ML Engine uses TensorFlow. If you choose SCIKIT_LEARN or XGBOOST, you must also set the runtime version of the model to 1.4 or greater.

pythonVersion

string

Optional. The version of Python used in prediction. If not set, the default version is '2.7'. Python '3.5' is available when runtimeVersion is set to '1.4' and above. Python '2.7' works with all supported runtime versions.

Union field scaling. Optional. Sets the options for scaling. If not specified, defaults to auto_scaling with min_nodes of 0 (see doc for AutoScaling.min_nodes) scaling can be only one of the following:
autoScaling

object(AutoScaling)

Automatically scale the number of nodes used to serve the model in response to increases and decreases in traffic. Care should be taken to ramp up traffic according to the model's ability to scale or you will start seeing increases in latency and 429 response codes.

manualScaling

object(ManualScaling)

Manually select the number of nodes to use for serving the model. You should generally use autoScaling with an appropriate minNodes 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.

AutoScaling

Options for automatically scaling a model.

JSON representation
{
  "minNodes": number
}
Fields
minNodes

number

Optional. The minimum number of nodes to allocate for this model. These nodes are always up, starting from the time the model is deployed. Therefore, the cost of operating this model will be at least rate * minNodes * number of hours since last billing cycle, where rate is the cost per node-hour as documented in the pricing guide, even if no predictions are performed. There is additional cost for each prediction performed.

Unlike manual scaling, if the load gets too heavy for the nodes that are up, the service will automatically add nodes to handle the increased load as well as scale back as traffic drops, always maintaining at least minNodes. You will be charged for the time in which additional nodes are used.

If not specified, minNodes defaults to 0, in which case, when traffic to a model stops (and after a cool-down period), nodes will be shut down and no charges will be incurred until traffic to the model resumes.

You can set minNodes when creating the model version, and you can also update minNodes for an existing version:

update_body.json:
{
  'autoScaling': {
    'minNodes': 5
  }
}

HTTP request:

PATCH https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?updateMask=autoScaling.minNodes -d @./update_body.json

ManualScaling

Options for manually scaling a model.

JSON representation
{
  "nodes": number
}
Fields
nodes

number

The number of nodes to allocate for this model. These nodes are always up, starting from the time the model is deployed, so the cost of operating this model will be proportional to nodes * number of hours since last billing cycle plus the cost for each prediction performed.

State

Describes the version state.

Enums
UNKNOWN The version state is unspecified.
READY The version is ready for prediction.
CREATING The version is being created. New versions.patch and versions.delete requests will fail if a version is in the CREATING state.
FAILED The version failed to be created, possibly cancelled. errorMessage should contain the details of the failure.
DELETING The version is being deleted. New versions.patch and versions.delete requests will fail if a version is in the DELETING state.
UPDATING The version is being updated. New versions.patch and versions.delete requests will fail if a version is in the UPDATING state.

Framework

Available frameworks for prediction.

Enums
FRAMEWORK_UNSPECIFIED Unspecified framework. Defaults to TensorFlow.
TENSORFLOW Tensorflow framework.
SCIKIT_LEARN Scikit-learn framework.
XGBOOST XGBoost framework.

Methods

create

Creates a new version of a model from a trained TensorFlow model.

delete

Deletes a model version.

get

Gets information about a model version.

list

Gets basic information about all the versions of a model.

patch

Updates the specified Version resource.

setDefault

Designates a version to be the default for the model.
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Machine Learning Engine (Cloud ML Engine)