docs: update generated docs (#981)
diff --git a/docs/dyn/ml_v1.projects.models.versions.html b/docs/dyn/ml_v1.projects.models.versions.html
index cc2e449..1971b65 100644
--- a/docs/dyn/ml_v1.projects.models.versions.html
+++ b/docs/dyn/ml_v1.projects.models.versions.html
@@ -84,7 +84,7 @@
<code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets information about a model version.</p>
<p class="toc_element">
- <code><a href="#list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</a></code></p>
+ <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets basic information about all the versions of a model.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -118,119 +118,40 @@
# 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.
- "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
- # Only specify this field if you have specified a Compute Engine (N1) machine
- # type in the `machineType` field. Learn more about [using GPUs for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- # Note that the AcceleratorConfig can be used in both Jobs and Versions.
- # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
- # [accelerators for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- "count": "A String", # The number of accelerators to attach to each machine running the job.
- "type": "A String", # The type of accelerator to use.
+ "labels": { # 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
+ # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+ "a_key": "A String",
},
- "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
- # requests that do not specify a version.
+ "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+ # applies to online prediction service. If this field is not specified, it
+ # defaults to `mls1-c1-m2`.
#
- # You can change the default version by calling
- # projects.methods.versions.setDefault.
- "manualScaling": { # Options for manually scaling a model. # 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.
- "nodes": 42, # 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": "A String", # Output only. The state of a version.
- "name": "A String", # Required. The name specified for the version when it was created.
+ # Online prediction supports the following machine types:
#
- # The version name must be unique within the model it is created in.
- "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
- "pythonVersion": "A String", # Required. The version of Python used in prediction.
+ # * `mls1-c1-m2`
+ # * `mls1-c4-m2`
+ # * `n1-standard-2`
+ # * `n1-standard-4`
+ # * `n1-standard-8`
+ # * `n1-standard-16`
+ # * `n1-standard-32`
+ # * `n1-highmem-2`
+ # * `n1-highmem-4`
+ # * `n1-highmem-8`
+ # * `n1-highmem-16`
+ # * `n1-highmem-32`
+ # * `n1-highcpu-2`
+ # * `n1-highcpu-4`
+ # * `n1-highcpu-8`
+ # * `n1-highcpu-16`
+ # * `n1-highcpu-32`
#
- # 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 [each runtime
- # version](/ml-engine/docs/runtime-version-list).
- "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
- "predictionClass": "A String", # Optional. The fully qualified name
- # (<var>module_name</var>.<var>class_name</var>) 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
- # [`packageUris` field](#Version.FIELDS.package_uris).
- #
- # Specify this field if and only if you are deploying a [custom prediction
- # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
- # If you specify this field, you must set
- # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
- # you must set `machineType` to a [legacy (MLS1)
- # machine type](/ml-engine/docs/machine-types-online-prediction).
- #
- # The following code sample provides the Predictor interface:
- #
- # <pre style="max-width: 626px;">
- # 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()
- # </pre>
- #
- # Learn more about [the Predictor interface and custom prediction
- # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
- "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
- # create the version. See the
- # [guide to model
- # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ # `mls1-c1-m2` is generally available. All other machine types are available
+ # in beta. Learn more about the [differences between machine
+ # types](/ml-engine/docs/machine-types-online-prediction).
"packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
# prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
# or [scikit-learn pipelines with custom
@@ -247,42 +168,21 @@
# [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
"A String",
],
- "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
- # Some explanation features require additional metadata to be loaded
- # as part of the model payload.
- # There are two feature attribution methods supported for TensorFlow models:
- # integrated gradients and sampled Shapley.
- # [Learn more about feature
- # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
- "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1703.01365
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
- "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- "numPaths": 42, # The number of feature permutations to consider when approximating the
- # Shapley values.
- },
- "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
+ "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+ # Only specify this field if you have specified a Compute Engine (N1) machine
+ # type in the `machineType` field. Learn more about [using GPUs for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+ # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+ # [accelerators for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ "type": "A String", # The type of accelerator to use.
+ "count": "A String", # The number of accelerators to attach to each machine running the job.
},
+ "state": "A String", # Output only. The state of a version.
+ "name": "A 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.
"autoScaling": { # Options for automatically scaling a model. # 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
@@ -338,14 +238,55 @@
# -d @./update_body.json
# </pre>
},
- "createTime": "A String", # Output only. The time the version was created.
- "labels": { # 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
- # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
- "a_key": "A String",
+ "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+ # Some explanation features require additional metadata to be loaded
+ # as part of the model payload.
+ # There are two feature attribution methods supported for TensorFlow models:
+ # integrated gradients and sampled Shapley.
+ # [Learn more about feature
+ # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+ "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1703.01365
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ "numPaths": 42, # The number of feature permutations to consider when approximating the
+ # Shapley values.
+ },
},
+ "pythonVersion": "A String", # Required. 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 [each runtime
+ # version](/ml-engine/docs/runtime-version-list).
"requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
# projects.models.versions.patch
# request. Specifying it in a
@@ -365,6 +306,9 @@
# evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
# specify this configuration manually. Setting up continuous evaluation
# automatically enables logging of request-response pairs.
+ "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+ # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+ # window is the lifetime of the model version. Defaults to 0.
"bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
# "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
#
@@ -382,44 +326,20 @@
# <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
# <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
# </table>
- "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
- # For example, if you want to log 10% of requests, enter `0.1`. The sampling
- # window is the lifetime of the model version. Defaults to 0.
},
- "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
- "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
- # applies to online prediction service. If this field is not specified, it
- # defaults to `mls1-c1-m2`.
- #
- # Online prediction supports the following machine types:
- #
- # * `mls1-c1-m2`
- # * `mls1-c4-m2`
- # * `n1-standard-2`
- # * `n1-standard-4`
- # * `n1-standard-8`
- # * `n1-standard-16`
- # * `n1-standard-32`
- # * `n1-highmem-2`
- # * `n1-highmem-4`
- # * `n1-highmem-8`
- # * `n1-highmem-16`
- # * `n1-highmem-32`
- # * `n1-highcpu-2`
- # * `n1-highcpu-4`
- # * `n1-highcpu-8`
- # * `n1-highcpu-16`
- # * `n1-highcpu-32`
- #
- # `mls1-c1-m2` is generally available. All other machine types are available
- # in beta. Learn more about the [differences between machine
- # types](/ml-engine/docs/machine-types-online-prediction).
- "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
- #
- # For more information, see the
- # [runtime version list](/ml-engine/docs/runtime-version-list) and
- # [how to manage runtime versions](/ml-engine/docs/versioning).
- "description": "A String", # Optional. The description specified for the version when it was created.
+ "manualScaling": { # Options for manually scaling a model. # 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.
+ "nodes": 42, # 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.
+ },
+ "createTime": "A String", # Output only. The time the version was created.
+ "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
"framework": "A String", # 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
@@ -434,6 +354,66 @@
# type](/ml-engine/docs/machine-types-online-prediction) in the
# `machineType` field, you must specify `TENSORFLOW`
# for the framework.
+ "predictionClass": "A String", # Optional. The fully qualified name
+ # (<var>module_name</var>.<var>class_name</var>) 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
+ # [`packageUris` field](#Version.FIELDS.package_uris).
+ #
+ # Specify this field if and only if you are deploying a [custom prediction
+ # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ # If you specify this field, you must set
+ # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+ # you must set `machineType` to a [legacy (MLS1)
+ # machine type](/ml-engine/docs/machine-types-online-prediction).
+ #
+ # The following code sample provides the Predictor interface:
+ #
+ # <pre style="max-width: 626px;">
+ # 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()
+ # </pre>
+ #
+ # Learn more about [the Predictor interface and custom prediction
+ # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ "isDefault": True or False, # 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.
"etag": "A String", # `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
@@ -441,6 +421,26 @@
# 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.
+ "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+ "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+ "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+ # create the version. See the
+ # [guide to model
+ # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+ #
+ # For more information, see the
+ # [runtime version list](/ml-engine/docs/runtime-version-list) and
+ # [how to manage runtime versions](/ml-engine/docs/versioning).
+ "description": "A String", # Optional. The description specified for the version when it was created.
}
x__xgafv: string, V1 error format.
@@ -453,9 +453,6 @@
{ # This resource represents a long-running operation that is the result of a
# network API call.
- "name": "A String", # The server-assigned name, which is only unique within the same service that
- # originally returns it. If you use the default HTTP mapping, the
- # `name` should be a resource name ending with `operations/{unique_id}`.
"error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
# different programming environments, including REST APIs and RPC APIs. It is
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -463,22 +460,16 @@
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
"details": [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
- },
- "metadata": { # Service-specific metadata associated with the operation. It typically
- # contains progress information and common metadata such as create time.
- # Some services might not provide such metadata. Any method that returns a
- # long-running operation should document the metadata type, if any.
- "a_key": "", # Properties of the object. Contains field @type with type URL.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
},
"done": True or False, # If the value is `false`, it means the operation is still in progress.
# If `true`, the operation is completed, and either `error` or `response` is
@@ -493,6 +484,15 @@
# `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
}</pre>
</div>
@@ -520,9 +520,6 @@
{ # This resource represents a long-running operation that is the result of a
# network API call.
- "name": "A String", # The server-assigned name, which is only unique within the same service that
- # originally returns it. If you use the default HTTP mapping, the
- # `name` should be a resource name ending with `operations/{unique_id}`.
"error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
# different programming environments, including REST APIs and RPC APIs. It is
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -530,22 +527,16 @@
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
"details": [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
- },
- "metadata": { # Service-specific metadata associated with the operation. It typically
- # contains progress information and common metadata such as create time.
- # Some services might not provide such metadata. Any method that returns a
- # long-running operation should document the metadata type, if any.
- "a_key": "", # Properties of the object. Contains field @type with type URL.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
},
"done": True or False, # If the value is `false`, it means the operation is still in progress.
# If `true`, the operation is completed, and either `error` or `response` is
@@ -560,6 +551,15 @@
# `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
}</pre>
</div>
@@ -588,119 +588,40 @@
# 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.
- "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
- # Only specify this field if you have specified a Compute Engine (N1) machine
- # type in the `machineType` field. Learn more about [using GPUs for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- # Note that the AcceleratorConfig can be used in both Jobs and Versions.
- # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
- # [accelerators for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- "count": "A String", # The number of accelerators to attach to each machine running the job.
- "type": "A String", # The type of accelerator to use.
+ "labels": { # 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
+ # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+ "a_key": "A String",
},
- "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
- # requests that do not specify a version.
+ "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+ # applies to online prediction service. If this field is not specified, it
+ # defaults to `mls1-c1-m2`.
#
- # You can change the default version by calling
- # projects.methods.versions.setDefault.
- "manualScaling": { # Options for manually scaling a model. # 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.
- "nodes": 42, # 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": "A String", # Output only. The state of a version.
- "name": "A String", # Required. The name specified for the version when it was created.
+ # Online prediction supports the following machine types:
#
- # The version name must be unique within the model it is created in.
- "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
- "pythonVersion": "A String", # Required. The version of Python used in prediction.
+ # * `mls1-c1-m2`
+ # * `mls1-c4-m2`
+ # * `n1-standard-2`
+ # * `n1-standard-4`
+ # * `n1-standard-8`
+ # * `n1-standard-16`
+ # * `n1-standard-32`
+ # * `n1-highmem-2`
+ # * `n1-highmem-4`
+ # * `n1-highmem-8`
+ # * `n1-highmem-16`
+ # * `n1-highmem-32`
+ # * `n1-highcpu-2`
+ # * `n1-highcpu-4`
+ # * `n1-highcpu-8`
+ # * `n1-highcpu-16`
+ # * `n1-highcpu-32`
#
- # 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 [each runtime
- # version](/ml-engine/docs/runtime-version-list).
- "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
- "predictionClass": "A String", # Optional. The fully qualified name
- # (<var>module_name</var>.<var>class_name</var>) 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
- # [`packageUris` field](#Version.FIELDS.package_uris).
- #
- # Specify this field if and only if you are deploying a [custom prediction
- # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
- # If you specify this field, you must set
- # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
- # you must set `machineType` to a [legacy (MLS1)
- # machine type](/ml-engine/docs/machine-types-online-prediction).
- #
- # The following code sample provides the Predictor interface:
- #
- # <pre style="max-width: 626px;">
- # 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()
- # </pre>
- #
- # Learn more about [the Predictor interface and custom prediction
- # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
- "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
- # create the version. See the
- # [guide to model
- # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ # `mls1-c1-m2` is generally available. All other machine types are available
+ # in beta. Learn more about the [differences between machine
+ # types](/ml-engine/docs/machine-types-online-prediction).
"packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
# prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
# or [scikit-learn pipelines with custom
@@ -717,42 +638,21 @@
# [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
"A String",
],
- "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
- # Some explanation features require additional metadata to be loaded
- # as part of the model payload.
- # There are two feature attribution methods supported for TensorFlow models:
- # integrated gradients and sampled Shapley.
- # [Learn more about feature
- # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
- "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1703.01365
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
- "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- "numPaths": 42, # The number of feature permutations to consider when approximating the
- # Shapley values.
- },
- "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
+ "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+ # Only specify this field if you have specified a Compute Engine (N1) machine
+ # type in the `machineType` field. Learn more about [using GPUs for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+ # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+ # [accelerators for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ "type": "A String", # The type of accelerator to use.
+ "count": "A String", # The number of accelerators to attach to each machine running the job.
},
+ "state": "A String", # Output only. The state of a version.
+ "name": "A 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.
"autoScaling": { # Options for automatically scaling a model. # 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
@@ -808,14 +708,55 @@
# -d @./update_body.json
# </pre>
},
- "createTime": "A String", # Output only. The time the version was created.
- "labels": { # 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
- # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
- "a_key": "A String",
+ "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+ # Some explanation features require additional metadata to be loaded
+ # as part of the model payload.
+ # There are two feature attribution methods supported for TensorFlow models:
+ # integrated gradients and sampled Shapley.
+ # [Learn more about feature
+ # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+ "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1703.01365
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ "numPaths": 42, # The number of feature permutations to consider when approximating the
+ # Shapley values.
+ },
},
+ "pythonVersion": "A String", # Required. 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 [each runtime
+ # version](/ml-engine/docs/runtime-version-list).
"requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
# projects.models.versions.patch
# request. Specifying it in a
@@ -835,6 +776,9 @@
# evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
# specify this configuration manually. Setting up continuous evaluation
# automatically enables logging of request-response pairs.
+ "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+ # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+ # window is the lifetime of the model version. Defaults to 0.
"bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
# "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
#
@@ -852,44 +796,20 @@
# <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
# <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
# </table>
- "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
- # For example, if you want to log 10% of requests, enter `0.1`. The sampling
- # window is the lifetime of the model version. Defaults to 0.
},
- "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
- "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
- # applies to online prediction service. If this field is not specified, it
- # defaults to `mls1-c1-m2`.
- #
- # Online prediction supports the following machine types:
- #
- # * `mls1-c1-m2`
- # * `mls1-c4-m2`
- # * `n1-standard-2`
- # * `n1-standard-4`
- # * `n1-standard-8`
- # * `n1-standard-16`
- # * `n1-standard-32`
- # * `n1-highmem-2`
- # * `n1-highmem-4`
- # * `n1-highmem-8`
- # * `n1-highmem-16`
- # * `n1-highmem-32`
- # * `n1-highcpu-2`
- # * `n1-highcpu-4`
- # * `n1-highcpu-8`
- # * `n1-highcpu-16`
- # * `n1-highcpu-32`
- #
- # `mls1-c1-m2` is generally available. All other machine types are available
- # in beta. Learn more about the [differences between machine
- # types](/ml-engine/docs/machine-types-online-prediction).
- "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
- #
- # For more information, see the
- # [runtime version list](/ml-engine/docs/runtime-version-list) and
- # [how to manage runtime versions](/ml-engine/docs/versioning).
- "description": "A String", # Optional. The description specified for the version when it was created.
+ "manualScaling": { # Options for manually scaling a model. # 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.
+ "nodes": 42, # 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.
+ },
+ "createTime": "A String", # Output only. The time the version was created.
+ "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
"framework": "A String", # 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
@@ -904,6 +824,66 @@
# type](/ml-engine/docs/machine-types-online-prediction) in the
# `machineType` field, you must specify `TENSORFLOW`
# for the framework.
+ "predictionClass": "A String", # Optional. The fully qualified name
+ # (<var>module_name</var>.<var>class_name</var>) 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
+ # [`packageUris` field](#Version.FIELDS.package_uris).
+ #
+ # Specify this field if and only if you are deploying a [custom prediction
+ # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ # If you specify this field, you must set
+ # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+ # you must set `machineType` to a [legacy (MLS1)
+ # machine type](/ml-engine/docs/machine-types-online-prediction).
+ #
+ # The following code sample provides the Predictor interface:
+ #
+ # <pre style="max-width: 626px;">
+ # 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()
+ # </pre>
+ #
+ # Learn more about [the Predictor interface and custom prediction
+ # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ "isDefault": True or False, # 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.
"etag": "A String", # `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
@@ -911,11 +891,31 @@
# 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.
+ "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+ "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+ "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+ # create the version. See the
+ # [guide to model
+ # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+ #
+ # For more information, see the
+ # [runtime version list](/ml-engine/docs/runtime-version-list) and
+ # [how to manage runtime versions](/ml-engine/docs/versioning).
+ "description": "A String", # Optional. The description specified for the version when it was created.
}</pre>
</div>
<div class="method">
- <code class="details" id="list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</code>
+ <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
<pre>Gets basic information about all the versions of a model.
If you expect that a model has many versions, or if you need to handle
@@ -927,6 +927,7 @@
Args:
parent: string, Required. The name of the model for which to list the version. (required)
+ filter: string, Optional. Specifies the subset of versions to retrieve.
pageToken: string, Optional. A page token to request the next page of results.
You get the token from the `next_page_token` field of the response from
@@ -936,7 +937,6 @@
will contain a valid value in the `next_page_token` field.
The default value is 20, and the maximum page size is 100.
- filter: string, Optional. Specifies the subset of versions to retrieve.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -955,119 +955,40 @@
# 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.
- "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
- # Only specify this field if you have specified a Compute Engine (N1) machine
- # type in the `machineType` field. Learn more about [using GPUs for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- # Note that the AcceleratorConfig can be used in both Jobs and Versions.
- # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
- # [accelerators for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- "count": "A String", # The number of accelerators to attach to each machine running the job.
- "type": "A String", # The type of accelerator to use.
+ "labels": { # 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
+ # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+ "a_key": "A String",
},
- "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
- # requests that do not specify a version.
+ "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+ # applies to online prediction service. If this field is not specified, it
+ # defaults to `mls1-c1-m2`.
#
- # You can change the default version by calling
- # projects.methods.versions.setDefault.
- "manualScaling": { # Options for manually scaling a model. # 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.
- "nodes": 42, # 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": "A String", # Output only. The state of a version.
- "name": "A String", # Required. The name specified for the version when it was created.
+ # Online prediction supports the following machine types:
#
- # The version name must be unique within the model it is created in.
- "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
- "pythonVersion": "A String", # Required. The version of Python used in prediction.
+ # * `mls1-c1-m2`
+ # * `mls1-c4-m2`
+ # * `n1-standard-2`
+ # * `n1-standard-4`
+ # * `n1-standard-8`
+ # * `n1-standard-16`
+ # * `n1-standard-32`
+ # * `n1-highmem-2`
+ # * `n1-highmem-4`
+ # * `n1-highmem-8`
+ # * `n1-highmem-16`
+ # * `n1-highmem-32`
+ # * `n1-highcpu-2`
+ # * `n1-highcpu-4`
+ # * `n1-highcpu-8`
+ # * `n1-highcpu-16`
+ # * `n1-highcpu-32`
#
- # 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 [each runtime
- # version](/ml-engine/docs/runtime-version-list).
- "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
- "predictionClass": "A String", # Optional. The fully qualified name
- # (<var>module_name</var>.<var>class_name</var>) 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
- # [`packageUris` field](#Version.FIELDS.package_uris).
- #
- # Specify this field if and only if you are deploying a [custom prediction
- # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
- # If you specify this field, you must set
- # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
- # you must set `machineType` to a [legacy (MLS1)
- # machine type](/ml-engine/docs/machine-types-online-prediction).
- #
- # The following code sample provides the Predictor interface:
- #
- # <pre style="max-width: 626px;">
- # 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()
- # </pre>
- #
- # Learn more about [the Predictor interface and custom prediction
- # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
- "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
- # create the version. See the
- # [guide to model
- # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ # `mls1-c1-m2` is generally available. All other machine types are available
+ # in beta. Learn more about the [differences between machine
+ # types](/ml-engine/docs/machine-types-online-prediction).
"packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
# prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
# or [scikit-learn pipelines with custom
@@ -1084,42 +1005,21 @@
# [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
"A String",
],
- "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
- # Some explanation features require additional metadata to be loaded
- # as part of the model payload.
- # There are two feature attribution methods supported for TensorFlow models:
- # integrated gradients and sampled Shapley.
- # [Learn more about feature
- # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
- "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1703.01365
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
- "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- "numPaths": 42, # The number of feature permutations to consider when approximating the
- # Shapley values.
- },
- "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
+ "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+ # Only specify this field if you have specified a Compute Engine (N1) machine
+ # type in the `machineType` field. Learn more about [using GPUs for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+ # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+ # [accelerators for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ "type": "A String", # The type of accelerator to use.
+ "count": "A String", # The number of accelerators to attach to each machine running the job.
},
+ "state": "A String", # Output only. The state of a version.
+ "name": "A 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.
"autoScaling": { # Options for automatically scaling a model. # 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
@@ -1175,14 +1075,55 @@
# -d @./update_body.json
# </pre>
},
- "createTime": "A String", # Output only. The time the version was created.
- "labels": { # 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
- # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
- "a_key": "A String",
+ "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+ # Some explanation features require additional metadata to be loaded
+ # as part of the model payload.
+ # There are two feature attribution methods supported for TensorFlow models:
+ # integrated gradients and sampled Shapley.
+ # [Learn more about feature
+ # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+ "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1703.01365
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ "numPaths": 42, # The number of feature permutations to consider when approximating the
+ # Shapley values.
+ },
},
+ "pythonVersion": "A String", # Required. 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 [each runtime
+ # version](/ml-engine/docs/runtime-version-list).
"requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
# projects.models.versions.patch
# request. Specifying it in a
@@ -1202,6 +1143,9 @@
# evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
# specify this configuration manually. Setting up continuous evaluation
# automatically enables logging of request-response pairs.
+ "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+ # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+ # window is the lifetime of the model version. Defaults to 0.
"bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
# "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
#
@@ -1219,44 +1163,20 @@
# <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
# <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
# </table>
- "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
- # For example, if you want to log 10% of requests, enter `0.1`. The sampling
- # window is the lifetime of the model version. Defaults to 0.
},
- "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
- "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
- # applies to online prediction service. If this field is not specified, it
- # defaults to `mls1-c1-m2`.
- #
- # Online prediction supports the following machine types:
- #
- # * `mls1-c1-m2`
- # * `mls1-c4-m2`
- # * `n1-standard-2`
- # * `n1-standard-4`
- # * `n1-standard-8`
- # * `n1-standard-16`
- # * `n1-standard-32`
- # * `n1-highmem-2`
- # * `n1-highmem-4`
- # * `n1-highmem-8`
- # * `n1-highmem-16`
- # * `n1-highmem-32`
- # * `n1-highcpu-2`
- # * `n1-highcpu-4`
- # * `n1-highcpu-8`
- # * `n1-highcpu-16`
- # * `n1-highcpu-32`
- #
- # `mls1-c1-m2` is generally available. All other machine types are available
- # in beta. Learn more about the [differences between machine
- # types](/ml-engine/docs/machine-types-online-prediction).
- "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
- #
- # For more information, see the
- # [runtime version list](/ml-engine/docs/runtime-version-list) and
- # [how to manage runtime versions](/ml-engine/docs/versioning).
- "description": "A String", # Optional. The description specified for the version when it was created.
+ "manualScaling": { # Options for manually scaling a model. # 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.
+ "nodes": 42, # 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.
+ },
+ "createTime": "A String", # Output only. The time the version was created.
+ "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
"framework": "A String", # 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
@@ -1271,6 +1191,66 @@
# type](/ml-engine/docs/machine-types-online-prediction) in the
# `machineType` field, you must specify `TENSORFLOW`
# for the framework.
+ "predictionClass": "A String", # Optional. The fully qualified name
+ # (<var>module_name</var>.<var>class_name</var>) 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
+ # [`packageUris` field](#Version.FIELDS.package_uris).
+ #
+ # Specify this field if and only if you are deploying a [custom prediction
+ # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ # If you specify this field, you must set
+ # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+ # you must set `machineType` to a [legacy (MLS1)
+ # machine type](/ml-engine/docs/machine-types-online-prediction).
+ #
+ # The following code sample provides the Predictor interface:
+ #
+ # <pre style="max-width: 626px;">
+ # 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()
+ # </pre>
+ #
+ # Learn more about [the Predictor interface and custom prediction
+ # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ "isDefault": True or False, # 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.
"etag": "A String", # `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
@@ -1278,6 +1258,26 @@
# 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.
+ "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+ "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+ "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+ # create the version. See the
+ # [guide to model
+ # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+ #
+ # For more information, see the
+ # [runtime version list](/ml-engine/docs/runtime-version-list) and
+ # [how to manage runtime versions](/ml-engine/docs/versioning).
+ "description": "A String", # Optional. The description specified for the version when it was created.
},
],
}</pre>
@@ -1315,119 +1315,40 @@
# 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.
- "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
- # Only specify this field if you have specified a Compute Engine (N1) machine
- # type in the `machineType` field. Learn more about [using GPUs for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- # Note that the AcceleratorConfig can be used in both Jobs and Versions.
- # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
- # [accelerators for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- "count": "A String", # The number of accelerators to attach to each machine running the job.
- "type": "A String", # The type of accelerator to use.
+ "labels": { # 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
+ # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+ "a_key": "A String",
},
- "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
- # requests that do not specify a version.
+ "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+ # applies to online prediction service. If this field is not specified, it
+ # defaults to `mls1-c1-m2`.
#
- # You can change the default version by calling
- # projects.methods.versions.setDefault.
- "manualScaling": { # Options for manually scaling a model. # 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.
- "nodes": 42, # 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": "A String", # Output only. The state of a version.
- "name": "A String", # Required. The name specified for the version when it was created.
+ # Online prediction supports the following machine types:
#
- # The version name must be unique within the model it is created in.
- "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
- "pythonVersion": "A String", # Required. The version of Python used in prediction.
+ # * `mls1-c1-m2`
+ # * `mls1-c4-m2`
+ # * `n1-standard-2`
+ # * `n1-standard-4`
+ # * `n1-standard-8`
+ # * `n1-standard-16`
+ # * `n1-standard-32`
+ # * `n1-highmem-2`
+ # * `n1-highmem-4`
+ # * `n1-highmem-8`
+ # * `n1-highmem-16`
+ # * `n1-highmem-32`
+ # * `n1-highcpu-2`
+ # * `n1-highcpu-4`
+ # * `n1-highcpu-8`
+ # * `n1-highcpu-16`
+ # * `n1-highcpu-32`
#
- # 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 [each runtime
- # version](/ml-engine/docs/runtime-version-list).
- "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
- "predictionClass": "A String", # Optional. The fully qualified name
- # (<var>module_name</var>.<var>class_name</var>) 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
- # [`packageUris` field](#Version.FIELDS.package_uris).
- #
- # Specify this field if and only if you are deploying a [custom prediction
- # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
- # If you specify this field, you must set
- # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
- # you must set `machineType` to a [legacy (MLS1)
- # machine type](/ml-engine/docs/machine-types-online-prediction).
- #
- # The following code sample provides the Predictor interface:
- #
- # <pre style="max-width: 626px;">
- # 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()
- # </pre>
- #
- # Learn more about [the Predictor interface and custom prediction
- # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
- "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
- # create the version. See the
- # [guide to model
- # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ # `mls1-c1-m2` is generally available. All other machine types are available
+ # in beta. Learn more about the [differences between machine
+ # types](/ml-engine/docs/machine-types-online-prediction).
"packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
# prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
# or [scikit-learn pipelines with custom
@@ -1444,42 +1365,21 @@
# [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
"A String",
],
- "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
- # Some explanation features require additional metadata to be loaded
- # as part of the model payload.
- # There are two feature attribution methods supported for TensorFlow models:
- # integrated gradients and sampled Shapley.
- # [Learn more about feature
- # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
- "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1703.01365
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
- "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- "numPaths": 42, # The number of feature permutations to consider when approximating the
- # Shapley values.
- },
- "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
+ "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+ # Only specify this field if you have specified a Compute Engine (N1) machine
+ # type in the `machineType` field. Learn more about [using GPUs for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+ # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+ # [accelerators for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ "type": "A String", # The type of accelerator to use.
+ "count": "A String", # The number of accelerators to attach to each machine running the job.
},
+ "state": "A String", # Output only. The state of a version.
+ "name": "A 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.
"autoScaling": { # Options for automatically scaling a model. # 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
@@ -1535,14 +1435,55 @@
# -d @./update_body.json
# </pre>
},
- "createTime": "A String", # Output only. The time the version was created.
- "labels": { # 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
- # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
- "a_key": "A String",
+ "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+ # Some explanation features require additional metadata to be loaded
+ # as part of the model payload.
+ # There are two feature attribution methods supported for TensorFlow models:
+ # integrated gradients and sampled Shapley.
+ # [Learn more about feature
+ # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+ "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1703.01365
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ "numPaths": 42, # The number of feature permutations to consider when approximating the
+ # Shapley values.
+ },
},
+ "pythonVersion": "A String", # Required. 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 [each runtime
+ # version](/ml-engine/docs/runtime-version-list).
"requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
# projects.models.versions.patch
# request. Specifying it in a
@@ -1562,6 +1503,9 @@
# evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
# specify this configuration manually. Setting up continuous evaluation
# automatically enables logging of request-response pairs.
+ "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+ # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+ # window is the lifetime of the model version. Defaults to 0.
"bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
# "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
#
@@ -1579,44 +1523,20 @@
# <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
# <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
# </table>
- "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
- # For example, if you want to log 10% of requests, enter `0.1`. The sampling
- # window is the lifetime of the model version. Defaults to 0.
},
- "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
- "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
- # applies to online prediction service. If this field is not specified, it
- # defaults to `mls1-c1-m2`.
- #
- # Online prediction supports the following machine types:
- #
- # * `mls1-c1-m2`
- # * `mls1-c4-m2`
- # * `n1-standard-2`
- # * `n1-standard-4`
- # * `n1-standard-8`
- # * `n1-standard-16`
- # * `n1-standard-32`
- # * `n1-highmem-2`
- # * `n1-highmem-4`
- # * `n1-highmem-8`
- # * `n1-highmem-16`
- # * `n1-highmem-32`
- # * `n1-highcpu-2`
- # * `n1-highcpu-4`
- # * `n1-highcpu-8`
- # * `n1-highcpu-16`
- # * `n1-highcpu-32`
- #
- # `mls1-c1-m2` is generally available. All other machine types are available
- # in beta. Learn more about the [differences between machine
- # types](/ml-engine/docs/machine-types-online-prediction).
- "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
- #
- # For more information, see the
- # [runtime version list](/ml-engine/docs/runtime-version-list) and
- # [how to manage runtime versions](/ml-engine/docs/versioning).
- "description": "A String", # Optional. The description specified for the version when it was created.
+ "manualScaling": { # Options for manually scaling a model. # 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.
+ "nodes": 42, # 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.
+ },
+ "createTime": "A String", # Output only. The time the version was created.
+ "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
"framework": "A String", # 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
@@ -1631,6 +1551,66 @@
# type](/ml-engine/docs/machine-types-online-prediction) in the
# `machineType` field, you must specify `TENSORFLOW`
# for the framework.
+ "predictionClass": "A String", # Optional. The fully qualified name
+ # (<var>module_name</var>.<var>class_name</var>) 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
+ # [`packageUris` field](#Version.FIELDS.package_uris).
+ #
+ # Specify this field if and only if you are deploying a [custom prediction
+ # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ # If you specify this field, you must set
+ # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+ # you must set `machineType` to a [legacy (MLS1)
+ # machine type](/ml-engine/docs/machine-types-online-prediction).
+ #
+ # The following code sample provides the Predictor interface:
+ #
+ # <pre style="max-width: 626px;">
+ # 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()
+ # </pre>
+ #
+ # Learn more about [the Predictor interface and custom prediction
+ # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ "isDefault": True or False, # 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.
"etag": "A String", # `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
@@ -1638,6 +1618,26 @@
# 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.
+ "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+ "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+ "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+ # create the version. See the
+ # [guide to model
+ # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+ #
+ # For more information, see the
+ # [runtime version list](/ml-engine/docs/runtime-version-list) and
+ # [how to manage runtime versions](/ml-engine/docs/versioning).
+ "description": "A String", # Optional. The description specified for the version when it was created.
}
updateMask: string, Required. Specifies the path, relative to `Version`, of the field to
@@ -1668,9 +1668,6 @@
{ # This resource represents a long-running operation that is the result of a
# network API call.
- "name": "A String", # The server-assigned name, which is only unique within the same service that
- # originally returns it. If you use the default HTTP mapping, the
- # `name` should be a resource name ending with `operations/{unique_id}`.
"error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
# different programming environments, including REST APIs and RPC APIs. It is
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -1678,22 +1675,16 @@
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
"details": [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
- },
- "metadata": { # Service-specific metadata associated with the operation. It typically
- # contains progress information and common metadata such as create time.
- # Some services might not provide such metadata. Any method that returns a
- # long-running operation should document the metadata type, if any.
- "a_key": "", # Properties of the object. Contains field @type with type URL.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
},
"done": True or False, # If the value is `false`, it means the operation is still in progress.
# If `true`, the operation is completed, and either `error` or `response` is
@@ -1708,6 +1699,15 @@
# `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
}</pre>
</div>
@@ -1746,119 +1746,40 @@
# 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.
- "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
- # Only specify this field if you have specified a Compute Engine (N1) machine
- # type in the `machineType` field. Learn more about [using GPUs for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- # Note that the AcceleratorConfig can be used in both Jobs and Versions.
- # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
- # [accelerators for online
- # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
- "count": "A String", # The number of accelerators to attach to each machine running the job.
- "type": "A String", # The type of accelerator to use.
+ "labels": { # 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
+ # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+ "a_key": "A String",
},
- "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
- # requests that do not specify a version.
+ "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+ # applies to online prediction service. If this field is not specified, it
+ # defaults to `mls1-c1-m2`.
#
- # You can change the default version by calling
- # projects.methods.versions.setDefault.
- "manualScaling": { # Options for manually scaling a model. # 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.
- "nodes": 42, # 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": "A String", # Output only. The state of a version.
- "name": "A String", # Required. The name specified for the version when it was created.
+ # Online prediction supports the following machine types:
#
- # The version name must be unique within the model it is created in.
- "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
- "pythonVersion": "A String", # Required. The version of Python used in prediction.
+ # * `mls1-c1-m2`
+ # * `mls1-c4-m2`
+ # * `n1-standard-2`
+ # * `n1-standard-4`
+ # * `n1-standard-8`
+ # * `n1-standard-16`
+ # * `n1-standard-32`
+ # * `n1-highmem-2`
+ # * `n1-highmem-4`
+ # * `n1-highmem-8`
+ # * `n1-highmem-16`
+ # * `n1-highmem-32`
+ # * `n1-highcpu-2`
+ # * `n1-highcpu-4`
+ # * `n1-highcpu-8`
+ # * `n1-highcpu-16`
+ # * `n1-highcpu-32`
#
- # 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 [each runtime
- # version](/ml-engine/docs/runtime-version-list).
- "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
- "predictionClass": "A String", # Optional. The fully qualified name
- # (<var>module_name</var>.<var>class_name</var>) 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
- # [`packageUris` field](#Version.FIELDS.package_uris).
- #
- # Specify this field if and only if you are deploying a [custom prediction
- # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
- # If you specify this field, you must set
- # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
- # you must set `machineType` to a [legacy (MLS1)
- # machine type](/ml-engine/docs/machine-types-online-prediction).
- #
- # The following code sample provides the Predictor interface:
- #
- # <pre style="max-width: 626px;">
- # 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()
- # </pre>
- #
- # Learn more about [the Predictor interface and custom prediction
- # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
- "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
- # create the version. See the
- # [guide to model
- # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ # `mls1-c1-m2` is generally available. All other machine types are available
+ # in beta. Learn more about the [differences between machine
+ # types](/ml-engine/docs/machine-types-online-prediction).
"packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
# prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
# or [scikit-learn pipelines with custom
@@ -1875,42 +1796,21 @@
# [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
"A String",
],
- "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
- # Some explanation features require additional metadata to be loaded
- # as part of the model payload.
- # There are two feature attribution methods supported for TensorFlow models:
- # integrated gradients and sampled Shapley.
- # [Learn more about feature
- # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
- "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1703.01365
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
- "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- # contribute to the label being predicted. A sampling strategy is used to
- # approximate the value rather than considering all subsets of features.
- "numPaths": 42, # The number of feature permutations to consider when approximating the
- # Shapley values.
- },
- "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- # of the model's fully differentiable structure. Refer to this paper for
- # more details: https://arxiv.org/abs/1906.02825
- # Currently only implemented for models with natural image inputs.
- "numIntegralSteps": 42, # Number of steps for approximating the path integral.
- # A good value to start is 50 and gradually increase until the
- # sum to diff property is met within the desired error range.
- },
+ "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+ # Only specify this field if you have specified a Compute Engine (N1) machine
+ # type in the `machineType` field. Learn more about [using GPUs for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+ # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+ # [accelerators for online
+ # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+ "type": "A String", # The type of accelerator to use.
+ "count": "A String", # The number of accelerators to attach to each machine running the job.
},
+ "state": "A String", # Output only. The state of a version.
+ "name": "A 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.
"autoScaling": { # Options for automatically scaling a model. # 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
@@ -1966,14 +1866,55 @@
# -d @./update_body.json
# </pre>
},
- "createTime": "A String", # Output only. The time the version was created.
- "labels": { # 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
- # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
- "a_key": "A String",
+ "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+ # Some explanation features require additional metadata to be loaded
+ # as part of the model payload.
+ # There are two feature attribution methods supported for TensorFlow models:
+ # integrated gradients and sampled Shapley.
+ # [Learn more about feature
+ # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+ "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1703.01365
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ # of the model's fully differentiable structure. Refer to this paper for
+ # more details: https://arxiv.org/abs/1906.02825
+ # Currently only implemented for models with natural image inputs.
+ "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+ # A good value to start is 50 and gradually increase until the
+ # sum to diff property is met within the desired error range.
+ },
+ "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ # contribute to the label being predicted. A sampling strategy is used to
+ # approximate the value rather than considering all subsets of features.
+ "numPaths": 42, # The number of feature permutations to consider when approximating the
+ # Shapley values.
+ },
},
+ "pythonVersion": "A String", # Required. 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 [each runtime
+ # version](/ml-engine/docs/runtime-version-list).
"requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
# projects.models.versions.patch
# request. Specifying it in a
@@ -1993,6 +1934,9 @@
# evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
# specify this configuration manually. Setting up continuous evaluation
# automatically enables logging of request-response pairs.
+ "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+ # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+ # window is the lifetime of the model version. Defaults to 0.
"bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
# "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
#
@@ -2010,44 +1954,20 @@
# <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
# <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
# </table>
- "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
- # For example, if you want to log 10% of requests, enter `0.1`. The sampling
- # window is the lifetime of the model version. Defaults to 0.
},
- "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
- "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
- # applies to online prediction service. If this field is not specified, it
- # defaults to `mls1-c1-m2`.
- #
- # Online prediction supports the following machine types:
- #
- # * `mls1-c1-m2`
- # * `mls1-c4-m2`
- # * `n1-standard-2`
- # * `n1-standard-4`
- # * `n1-standard-8`
- # * `n1-standard-16`
- # * `n1-standard-32`
- # * `n1-highmem-2`
- # * `n1-highmem-4`
- # * `n1-highmem-8`
- # * `n1-highmem-16`
- # * `n1-highmem-32`
- # * `n1-highcpu-2`
- # * `n1-highcpu-4`
- # * `n1-highcpu-8`
- # * `n1-highcpu-16`
- # * `n1-highcpu-32`
- #
- # `mls1-c1-m2` is generally available. All other machine types are available
- # in beta. Learn more about the [differences between machine
- # types](/ml-engine/docs/machine-types-online-prediction).
- "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
- #
- # For more information, see the
- # [runtime version list](/ml-engine/docs/runtime-version-list) and
- # [how to manage runtime versions](/ml-engine/docs/versioning).
- "description": "A String", # Optional. The description specified for the version when it was created.
+ "manualScaling": { # Options for manually scaling a model. # 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.
+ "nodes": 42, # 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.
+ },
+ "createTime": "A String", # Output only. The time the version was created.
+ "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
"framework": "A String", # 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
@@ -2062,6 +1982,66 @@
# type](/ml-engine/docs/machine-types-online-prediction) in the
# `machineType` field, you must specify `TENSORFLOW`
# for the framework.
+ "predictionClass": "A String", # Optional. The fully qualified name
+ # (<var>module_name</var>.<var>class_name</var>) 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
+ # [`packageUris` field](#Version.FIELDS.package_uris).
+ #
+ # Specify this field if and only if you are deploying a [custom prediction
+ # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ # If you specify this field, you must set
+ # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+ # you must set `machineType` to a [legacy (MLS1)
+ # machine type](/ml-engine/docs/machine-types-online-prediction).
+ #
+ # The following code sample provides the Predictor interface:
+ #
+ # <pre style="max-width: 626px;">
+ # 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()
+ # </pre>
+ #
+ # Learn more about [the Predictor interface and custom prediction
+ # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+ "isDefault": True or False, # 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.
"etag": "A String", # `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
@@ -2069,6 +2049,26 @@
# 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.
+ "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+ "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+ "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+ # create the version. See the
+ # [guide to model
+ # deployment](/ml-engine/docs/tensorflow/deploying-models) 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.
+ "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+ #
+ # For more information, see the
+ # [runtime version list](/ml-engine/docs/runtime-version-list) and
+ # [how to manage runtime versions](/ml-engine/docs/versioning).
+ "description": "A String", # Optional. The description specified for the version when it was created.
}</pre>
</div>