1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="ml_v1.html">Cloud Machine Learning Engine</a> . <a href="ml_v1.projects.html">projects</a> . <a href="ml_v1.projects.models.html">models</a> . <a href="ml_v1.projects.models.versions.html">versions</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p> 79<p class="firstline">Creates a new version of a model from a trained TensorFlow model.</p> 80<p class="toc_element"> 81 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p> 82<p class="firstline">Deletes a model version.</p> 83<p class="toc_element"> 84 <code><a href="#get">get(name, x__xgafv=None)</a></code></p> 85<p class="firstline">Gets information about a model version.</p> 86<p class="toc_element"> 87 <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p> 88<p class="firstline">Gets basic information about all the versions of a model.</p> 89<p class="toc_element"> 90 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> 91<p class="firstline">Retrieves the next page of results.</p> 92<p class="toc_element"> 93 <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p> 94<p class="firstline">Updates the specified Version resource.</p> 95<p class="toc_element"> 96 <code><a href="#setDefault">setDefault(name, body=None, x__xgafv=None)</a></code></p> 97<p class="firstline">Designates a version to be the default for the model.</p> 98<h3>Method Details</h3> 99<div class="method"> 100 <code class="details" id="create">create(parent, body, x__xgafv=None)</code> 101 <pre>Creates a new version of a model from a trained TensorFlow model. 102 103If the version created in the cloud by this call is the first deployed 104version of the specified model, it will be made the default version of the 105model. When you add a version to a model that already has one or more 106versions, the default version does not automatically change. If you want a 107new version to be the default, you must call 108[projects.models.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 109 110Args: 111 parent: string, Required. The name of the model. (required) 112 body: object, The request body. (required) 113 The object takes the form of: 114 115{ # Represents a version of the model. 116 # 117 # Each version is a trained model deployed in the cloud, ready to handle 118 # prediction requests. A model can have multiple versions. You can get 119 # information about all of the versions of a given model by calling 120 # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). 121 "errorMessage": "A String", # Output only. The details of a failure or a cancellation. 122 "labels": { # Optional. One or more labels that you can add, to organize your model 123 # versions. Each label is a key-value pair, where both the key and the value 124 # are arbitrary strings that you supply. 125 # For more information, see the documentation on 126 # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>. 127 "a_key": "A String", 128 }, 129 "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only 130 # applies to online prediction service. 131 # <dl> 132 # <dt>mls1-c1-m2</dt> 133 # <dd> 134 # The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated 135 # name for this machine type is "mls1-highmem-1". 136 # </dd> 137 # <dt>mls1-c4-m2</dt> 138 # <dd> 139 # In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The 140 # deprecated name for this machine type is "mls1-highcpu-4". 141 # </dd> 142 # </dl> 143 "description": "A String", # Optional. The description specified for the version when it was created. 144 "runtimeVersion": "A String", # Optional. The AI Platform runtime version to use for this deployment. 145 # If not set, AI Platform uses the default stable version, 1.0. For more 146 # information, see the 147 # [runtime version list](/ml-engine/docs/runtime-version-list) and 148 # [how to manage runtime versions](/ml-engine/docs/versioning). 149 "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the 150 # model. You should generally use `auto_scaling` with an appropriate 151 # `min_nodes` instead, but this option is available if you want more 152 # predictable billing. Beware that latency and error rates will increase 153 # if the traffic exceeds that capability of the system to serve it based 154 # on the selected number of nodes. 155 "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up, 156 # starting from the time the model is deployed, so the cost of operating 157 # this model will be proportional to `nodes` * number of hours since 158 # last billing cycle plus the cost for each prediction performed. 159 }, 160 "predictionClass": "A String", # Optional. The fully qualified name 161 # (<var>module_name</var>.<var>class_name</var>) of a class that implements 162 # the Predictor interface described in this reference field. The module 163 # containing this class should be included in a package provided to the 164 # [`packageUris` field](#Version.FIELDS.package_uris). 165 # 166 # Specify this field if and only if you are deploying a [custom prediction 167 # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). 168 # If you specify this field, you must set 169 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 170 # 171 # The following code sample provides the Predictor interface: 172 # 173 # ```py 174 # class Predictor(object): 175 # """Interface for constructing custom predictors.""" 176 # 177 # def predict(self, instances, **kwargs): 178 # """Performs custom prediction. 179 # 180 # Instances are the decoded values from the request. They have already 181 # been deserialized from JSON. 182 # 183 # Args: 184 # instances: A list of prediction input instances. 185 # **kwargs: A dictionary of keyword args provided as additional 186 # fields on the predict request body. 187 # 188 # Returns: 189 # A list of outputs containing the prediction results. This list must 190 # be JSON serializable. 191 # """ 192 # raise NotImplementedError() 193 # 194 # @classmethod 195 # def from_path(cls, model_dir): 196 # """Creates an instance of Predictor using the given path. 197 # 198 # Loading of the predictor should be done in this method. 199 # 200 # Args: 201 # model_dir: The local directory that contains the exported model 202 # file along with any additional files uploaded when creating the 203 # version resource. 204 # 205 # Returns: 206 # An instance implementing this Predictor class. 207 # """ 208 # raise NotImplementedError() 209 # ``` 210 # 211 # Learn more about [the Predictor interface and custom prediction 212 # routines](/ml-engine/docs/tensorflow/custom-prediction-routines). 213 "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in 214 # response to increases and decreases in traffic. Care should be 215 # taken to ramp up traffic according to the model's ability to scale 216 # or you will start seeing increases in latency and 429 response codes. 217 "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These 218 # nodes are always up, starting from the time the model is deployed. 219 # Therefore, the cost of operating this model will be at least 220 # `rate` * `min_nodes` * number of hours since last billing cycle, 221 # where `rate` is the cost per node-hour as documented in the 222 # [pricing guide](/ml-engine/docs/pricing), 223 # even if no predictions are performed. There is additional cost for each 224 # prediction performed. 225 # 226 # Unlike manual scaling, if the load gets too heavy for the nodes 227 # that are up, the service will automatically add nodes to handle the 228 # increased load as well as scale back as traffic drops, always maintaining 229 # at least `min_nodes`. You will be charged for the time in which additional 230 # nodes are used. 231 # 232 # If not specified, `min_nodes` defaults to 0, in which case, when traffic 233 # to a model stops (and after a cool-down period), nodes will be shut down 234 # and no charges will be incurred until traffic to the model resumes. 235 # 236 # You can set `min_nodes` when creating the model version, and you can also 237 # update `min_nodes` for an existing version: 238 # <pre> 239 # update_body.json: 240 # { 241 # 'autoScaling': { 242 # 'minNodes': 5 243 # } 244 # } 245 # </pre> 246 # HTTP request: 247 # <pre> 248 # PATCH 249 # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes 250 # -d @./update_body.json 251 # </pre> 252 }, 253 "serviceAccount": "A String", # Optional. Specifies the service account for resource access control. 254 "state": "A String", # Output only. The state of a version. 255 "pythonVersion": "A String", # Optional. The version of Python used in prediction. If not set, the default 256 # version is '2.7'. Python '3.5' is available when `runtime_version` is set 257 # to '1.4' and above. Python '2.7' works with all supported runtime versions. 258 "framework": "A String", # Optional. The machine learning framework AI Platform uses to train 259 # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, 260 # `XGBOOST`. If you do not specify a framework, AI Platform 261 # will analyze files in the deployment_uri to determine a framework. If you 262 # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version 263 # of the model to 1.4 or greater. 264 # 265 # Do **not** specify a framework if you're deploying a [custom 266 # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). 267 "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom 268 # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) 269 # or [scikit-learn pipelines with custom 270 # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). 271 # 272 # For a custom prediction routine, one of these packages must contain your 273 # Predictor class (see 274 # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, 275 # include any dependencies used by your Predictor or scikit-learn pipeline 276 # uses that are not already included in your selected [runtime 277 # version](/ml-engine/docs/tensorflow/runtime-version-list). 278 # 279 # If you specify this field, you must also set 280 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 281 "A String", 282 ], 283 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 284 # prevent simultaneous updates of a model from overwriting each other. 285 # It is strongly suggested that systems make use of the `etag` in the 286 # read-modify-write cycle to perform model updates in order to avoid race 287 # conditions: An `etag` is returned in the response to `GetVersion`, and 288 # systems are expected to put that etag in the request to `UpdateVersion` to 289 # ensure that their change will be applied to the model as intended. 290 "lastUseTime": "A String", # Output only. The time the version was last used for prediction. 291 "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to 292 # create the version. See the 293 # [guide to model 294 # deployment](/ml-engine/docs/tensorflow/deploying-models) for more 295 # information. 296 # 297 # When passing Version to 298 # [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) 299 # the model service uses the specified location as the source of the model. 300 # Once deployed, the model version is hosted by the prediction service, so 301 # this location is useful only as a historical record. 302 # The total number of model files can't exceed 1000. 303 "createTime": "A String", # Output only. The time the version was created. 304 "isDefault": True or False, # Output only. If true, this version will be used to handle prediction 305 # requests that do not specify a version. 306 # 307 # You can change the default version by calling 308 # [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 309 "name": "A String", # Required.The name specified for the version when it was created. 310 # 311 # The version name must be unique within the model it is created in. 312} 313 314 x__xgafv: string, V1 error format. 315 Allowed values 316 1 - v1 error format 317 2 - v2 error format 318 319Returns: 320 An object of the form: 321 322 { # This resource represents a long-running operation that is the result of a 323 # network API call. 324 "metadata": { # Service-specific metadata associated with the operation. It typically 325 # contains progress information and common metadata such as create time. 326 # Some services might not provide such metadata. Any method that returns a 327 # long-running operation should document the metadata type, if any. 328 "a_key": "", # Properties of the object. Contains field @type with type URL. 329 }, 330 "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. 331 # different programming environments, including REST APIs and RPC APIs. It is 332 # used by [gRPC](https://github.com/grpc). Each `Status` message contains 333 # three pieces of data: error code, error message, and error details. 334 # 335 # You can find out more about this error model and how to work with it in the 336 # [API Design Guide](https://cloud.google.com/apis/design/errors). 337 "message": "A String", # A developer-facing error message, which should be in English. Any 338 # user-facing error message should be localized and sent in the 339 # google.rpc.Status.details field, or localized by the client. 340 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 341 "details": [ # A list of messages that carry the error details. There is a common set of 342 # message types for APIs to use. 343 { 344 "a_key": "", # Properties of the object. Contains field @type with type URL. 345 }, 346 ], 347 }, 348 "done": True or False, # If the value is `false`, it means the operation is still in progress. 349 # If `true`, the operation is completed, and either `error` or `response` is 350 # available. 351 "response": { # The normal response of the operation in case of success. If the original 352 # method returns no data on success, such as `Delete`, the response is 353 # `google.protobuf.Empty`. If the original method is standard 354 # `Get`/`Create`/`Update`, the response should be the resource. For other 355 # methods, the response should have the type `XxxResponse`, where `Xxx` 356 # is the original method name. For example, if the original method name 357 # is `TakeSnapshot()`, the inferred response type is 358 # `TakeSnapshotResponse`. 359 "a_key": "", # Properties of the object. Contains field @type with type URL. 360 }, 361 "name": "A String", # The server-assigned name, which is only unique within the same service that 362 # originally returns it. If you use the default HTTP mapping, the 363 # `name` should be a resource name ending with `operations/{unique_id}`. 364 }</pre> 365</div> 366 367<div class="method"> 368 <code class="details" id="delete">delete(name, x__xgafv=None)</code> 369 <pre>Deletes a model version. 370 371Each model can have multiple versions deployed and in use at any given 372time. Use this method to remove a single version. 373 374Note: You cannot delete the version that is set as the default version 375of the model unless it is the only remaining version. 376 377Args: 378 name: string, Required. The name of the version. You can get the names of all the 379versions of a model by calling 380[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). (required) 381 x__xgafv: string, V1 error format. 382 Allowed values 383 1 - v1 error format 384 2 - v2 error format 385 386Returns: 387 An object of the form: 388 389 { # This resource represents a long-running operation that is the result of a 390 # network API call. 391 "metadata": { # Service-specific metadata associated with the operation. It typically 392 # contains progress information and common metadata such as create time. 393 # Some services might not provide such metadata. Any method that returns a 394 # long-running operation should document the metadata type, if any. 395 "a_key": "", # Properties of the object. Contains field @type with type URL. 396 }, 397 "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. 398 # different programming environments, including REST APIs and RPC APIs. It is 399 # used by [gRPC](https://github.com/grpc). Each `Status` message contains 400 # three pieces of data: error code, error message, and error details. 401 # 402 # You can find out more about this error model and how to work with it in the 403 # [API Design Guide](https://cloud.google.com/apis/design/errors). 404 "message": "A String", # A developer-facing error message, which should be in English. Any 405 # user-facing error message should be localized and sent in the 406 # google.rpc.Status.details field, or localized by the client. 407 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 408 "details": [ # A list of messages that carry the error details. There is a common set of 409 # message types for APIs to use. 410 { 411 "a_key": "", # Properties of the object. Contains field @type with type URL. 412 }, 413 ], 414 }, 415 "done": True or False, # If the value is `false`, it means the operation is still in progress. 416 # If `true`, the operation is completed, and either `error` or `response` is 417 # available. 418 "response": { # The normal response of the operation in case of success. If the original 419 # method returns no data on success, such as `Delete`, the response is 420 # `google.protobuf.Empty`. If the original method is standard 421 # `Get`/`Create`/`Update`, the response should be the resource. For other 422 # methods, the response should have the type `XxxResponse`, where `Xxx` 423 # is the original method name. For example, if the original method name 424 # is `TakeSnapshot()`, the inferred response type is 425 # `TakeSnapshotResponse`. 426 "a_key": "", # Properties of the object. Contains field @type with type URL. 427 }, 428 "name": "A String", # The server-assigned name, which is only unique within the same service that 429 # originally returns it. If you use the default HTTP mapping, the 430 # `name` should be a resource name ending with `operations/{unique_id}`. 431 }</pre> 432</div> 433 434<div class="method"> 435 <code class="details" id="get">get(name, x__xgafv=None)</code> 436 <pre>Gets information about a model version. 437 438Models can have multiple versions. You can call 439[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list) 440to get the same information that this method returns for all of the 441versions of a model. 442 443Args: 444 name: string, Required. The name of the version. (required) 445 x__xgafv: string, V1 error format. 446 Allowed values 447 1 - v1 error format 448 2 - v2 error format 449 450Returns: 451 An object of the form: 452 453 { # Represents a version of the model. 454 # 455 # Each version is a trained model deployed in the cloud, ready to handle 456 # prediction requests. A model can have multiple versions. You can get 457 # information about all of the versions of a given model by calling 458 # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). 459 "errorMessage": "A String", # Output only. The details of a failure or a cancellation. 460 "labels": { # Optional. One or more labels that you can add, to organize your model 461 # versions. Each label is a key-value pair, where both the key and the value 462 # are arbitrary strings that you supply. 463 # For more information, see the documentation on 464 # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>. 465 "a_key": "A String", 466 }, 467 "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only 468 # applies to online prediction service. 469 # <dl> 470 # <dt>mls1-c1-m2</dt> 471 # <dd> 472 # The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated 473 # name for this machine type is "mls1-highmem-1". 474 # </dd> 475 # <dt>mls1-c4-m2</dt> 476 # <dd> 477 # In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The 478 # deprecated name for this machine type is "mls1-highcpu-4". 479 # </dd> 480 # </dl> 481 "description": "A String", # Optional. The description specified for the version when it was created. 482 "runtimeVersion": "A String", # Optional. The AI Platform runtime version to use for this deployment. 483 # If not set, AI Platform uses the default stable version, 1.0. For more 484 # information, see the 485 # [runtime version list](/ml-engine/docs/runtime-version-list) and 486 # [how to manage runtime versions](/ml-engine/docs/versioning). 487 "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the 488 # model. You should generally use `auto_scaling` with an appropriate 489 # `min_nodes` instead, but this option is available if you want more 490 # predictable billing. Beware that latency and error rates will increase 491 # if the traffic exceeds that capability of the system to serve it based 492 # on the selected number of nodes. 493 "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up, 494 # starting from the time the model is deployed, so the cost of operating 495 # this model will be proportional to `nodes` * number of hours since 496 # last billing cycle plus the cost for each prediction performed. 497 }, 498 "predictionClass": "A String", # Optional. The fully qualified name 499 # (<var>module_name</var>.<var>class_name</var>) of a class that implements 500 # the Predictor interface described in this reference field. The module 501 # containing this class should be included in a package provided to the 502 # [`packageUris` field](#Version.FIELDS.package_uris). 503 # 504 # Specify this field if and only if you are deploying a [custom prediction 505 # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). 506 # If you specify this field, you must set 507 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 508 # 509 # The following code sample provides the Predictor interface: 510 # 511 # ```py 512 # class Predictor(object): 513 # """Interface for constructing custom predictors.""" 514 # 515 # def predict(self, instances, **kwargs): 516 # """Performs custom prediction. 517 # 518 # Instances are the decoded values from the request. They have already 519 # been deserialized from JSON. 520 # 521 # Args: 522 # instances: A list of prediction input instances. 523 # **kwargs: A dictionary of keyword args provided as additional 524 # fields on the predict request body. 525 # 526 # Returns: 527 # A list of outputs containing the prediction results. This list must 528 # be JSON serializable. 529 # """ 530 # raise NotImplementedError() 531 # 532 # @classmethod 533 # def from_path(cls, model_dir): 534 # """Creates an instance of Predictor using the given path. 535 # 536 # Loading of the predictor should be done in this method. 537 # 538 # Args: 539 # model_dir: The local directory that contains the exported model 540 # file along with any additional files uploaded when creating the 541 # version resource. 542 # 543 # Returns: 544 # An instance implementing this Predictor class. 545 # """ 546 # raise NotImplementedError() 547 # ``` 548 # 549 # Learn more about [the Predictor interface and custom prediction 550 # routines](/ml-engine/docs/tensorflow/custom-prediction-routines). 551 "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in 552 # response to increases and decreases in traffic. Care should be 553 # taken to ramp up traffic according to the model's ability to scale 554 # or you will start seeing increases in latency and 429 response codes. 555 "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These 556 # nodes are always up, starting from the time the model is deployed. 557 # Therefore, the cost of operating this model will be at least 558 # `rate` * `min_nodes` * number of hours since last billing cycle, 559 # where `rate` is the cost per node-hour as documented in the 560 # [pricing guide](/ml-engine/docs/pricing), 561 # even if no predictions are performed. There is additional cost for each 562 # prediction performed. 563 # 564 # Unlike manual scaling, if the load gets too heavy for the nodes 565 # that are up, the service will automatically add nodes to handle the 566 # increased load as well as scale back as traffic drops, always maintaining 567 # at least `min_nodes`. You will be charged for the time in which additional 568 # nodes are used. 569 # 570 # If not specified, `min_nodes` defaults to 0, in which case, when traffic 571 # to a model stops (and after a cool-down period), nodes will be shut down 572 # and no charges will be incurred until traffic to the model resumes. 573 # 574 # You can set `min_nodes` when creating the model version, and you can also 575 # update `min_nodes` for an existing version: 576 # <pre> 577 # update_body.json: 578 # { 579 # 'autoScaling': { 580 # 'minNodes': 5 581 # } 582 # } 583 # </pre> 584 # HTTP request: 585 # <pre> 586 # PATCH 587 # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes 588 # -d @./update_body.json 589 # </pre> 590 }, 591 "serviceAccount": "A String", # Optional. Specifies the service account for resource access control. 592 "state": "A String", # Output only. The state of a version. 593 "pythonVersion": "A String", # Optional. The version of Python used in prediction. If not set, the default 594 # version is '2.7'. Python '3.5' is available when `runtime_version` is set 595 # to '1.4' and above. Python '2.7' works with all supported runtime versions. 596 "framework": "A String", # Optional. The machine learning framework AI Platform uses to train 597 # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, 598 # `XGBOOST`. If you do not specify a framework, AI Platform 599 # will analyze files in the deployment_uri to determine a framework. If you 600 # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version 601 # of the model to 1.4 or greater. 602 # 603 # Do **not** specify a framework if you're deploying a [custom 604 # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). 605 "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom 606 # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) 607 # or [scikit-learn pipelines with custom 608 # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). 609 # 610 # For a custom prediction routine, one of these packages must contain your 611 # Predictor class (see 612 # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, 613 # include any dependencies used by your Predictor or scikit-learn pipeline 614 # uses that are not already included in your selected [runtime 615 # version](/ml-engine/docs/tensorflow/runtime-version-list). 616 # 617 # If you specify this field, you must also set 618 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 619 "A String", 620 ], 621 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 622 # prevent simultaneous updates of a model from overwriting each other. 623 # It is strongly suggested that systems make use of the `etag` in the 624 # read-modify-write cycle to perform model updates in order to avoid race 625 # conditions: An `etag` is returned in the response to `GetVersion`, and 626 # systems are expected to put that etag in the request to `UpdateVersion` to 627 # ensure that their change will be applied to the model as intended. 628 "lastUseTime": "A String", # Output only. The time the version was last used for prediction. 629 "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to 630 # create the version. See the 631 # [guide to model 632 # deployment](/ml-engine/docs/tensorflow/deploying-models) for more 633 # information. 634 # 635 # When passing Version to 636 # [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) 637 # the model service uses the specified location as the source of the model. 638 # Once deployed, the model version is hosted by the prediction service, so 639 # this location is useful only as a historical record. 640 # The total number of model files can't exceed 1000. 641 "createTime": "A String", # Output only. The time the version was created. 642 "isDefault": True or False, # Output only. If true, this version will be used to handle prediction 643 # requests that do not specify a version. 644 # 645 # You can change the default version by calling 646 # [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 647 "name": "A String", # Required.The name specified for the version when it was created. 648 # 649 # The version name must be unique within the model it is created in. 650 }</pre> 651</div> 652 653<div class="method"> 654 <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code> 655 <pre>Gets basic information about all the versions of a model. 656 657If you expect that a model has many versions, or if you need to handle 658only a limited number of results at a time, you can request that the list 659be retrieved in batches (called pages). 660 661If there are no versions that match the request parameters, the list 662request returns an empty response body: {}. 663 664Args: 665 parent: string, Required. The name of the model for which to list the version. (required) 666 pageToken: string, Optional. A page token to request the next page of results. 667 668You get the token from the `next_page_token` field of the response from 669the previous call. 670 x__xgafv: string, V1 error format. 671 Allowed values 672 1 - v1 error format 673 2 - v2 error format 674 pageSize: integer, Optional. The number of versions to retrieve per "page" of results. If 675there are more remaining results than this number, the response message 676will contain a valid value in the `next_page_token` field. 677 678The default value is 20, and the maximum page size is 100. 679 filter: string, Optional. Specifies the subset of versions to retrieve. 680 681Returns: 682 An object of the form: 683 684 { # Response message for the ListVersions method. 685 "nextPageToken": "A String", # Optional. Pass this token as the `page_token` field of the request for a 686 # subsequent call. 687 "versions": [ # The list of versions. 688 { # Represents a version of the model. 689 # 690 # Each version is a trained model deployed in the cloud, ready to handle 691 # prediction requests. A model can have multiple versions. You can get 692 # information about all of the versions of a given model by calling 693 # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). 694 "errorMessage": "A String", # Output only. The details of a failure or a cancellation. 695 "labels": { # Optional. One or more labels that you can add, to organize your model 696 # versions. Each label is a key-value pair, where both the key and the value 697 # are arbitrary strings that you supply. 698 # For more information, see the documentation on 699 # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>. 700 "a_key": "A String", 701 }, 702 "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only 703 # applies to online prediction service. 704 # <dl> 705 # <dt>mls1-c1-m2</dt> 706 # <dd> 707 # The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated 708 # name for this machine type is "mls1-highmem-1". 709 # </dd> 710 # <dt>mls1-c4-m2</dt> 711 # <dd> 712 # In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The 713 # deprecated name for this machine type is "mls1-highcpu-4". 714 # </dd> 715 # </dl> 716 "description": "A String", # Optional. The description specified for the version when it was created. 717 "runtimeVersion": "A String", # Optional. The AI Platform runtime version to use for this deployment. 718 # If not set, AI Platform uses the default stable version, 1.0. For more 719 # information, see the 720 # [runtime version list](/ml-engine/docs/runtime-version-list) and 721 # [how to manage runtime versions](/ml-engine/docs/versioning). 722 "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the 723 # model. You should generally use `auto_scaling` with an appropriate 724 # `min_nodes` instead, but this option is available if you want more 725 # predictable billing. Beware that latency and error rates will increase 726 # if the traffic exceeds that capability of the system to serve it based 727 # on the selected number of nodes. 728 "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up, 729 # starting from the time the model is deployed, so the cost of operating 730 # this model will be proportional to `nodes` * number of hours since 731 # last billing cycle plus the cost for each prediction performed. 732 }, 733 "predictionClass": "A String", # Optional. The fully qualified name 734 # (<var>module_name</var>.<var>class_name</var>) of a class that implements 735 # the Predictor interface described in this reference field. The module 736 # containing this class should be included in a package provided to the 737 # [`packageUris` field](#Version.FIELDS.package_uris). 738 # 739 # Specify this field if and only if you are deploying a [custom prediction 740 # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). 741 # If you specify this field, you must set 742 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 743 # 744 # The following code sample provides the Predictor interface: 745 # 746 # ```py 747 # class Predictor(object): 748 # """Interface for constructing custom predictors.""" 749 # 750 # def predict(self, instances, **kwargs): 751 # """Performs custom prediction. 752 # 753 # Instances are the decoded values from the request. They have already 754 # been deserialized from JSON. 755 # 756 # Args: 757 # instances: A list of prediction input instances. 758 # **kwargs: A dictionary of keyword args provided as additional 759 # fields on the predict request body. 760 # 761 # Returns: 762 # A list of outputs containing the prediction results. This list must 763 # be JSON serializable. 764 # """ 765 # raise NotImplementedError() 766 # 767 # @classmethod 768 # def from_path(cls, model_dir): 769 # """Creates an instance of Predictor using the given path. 770 # 771 # Loading of the predictor should be done in this method. 772 # 773 # Args: 774 # model_dir: The local directory that contains the exported model 775 # file along with any additional files uploaded when creating the 776 # version resource. 777 # 778 # Returns: 779 # An instance implementing this Predictor class. 780 # """ 781 # raise NotImplementedError() 782 # ``` 783 # 784 # Learn more about [the Predictor interface and custom prediction 785 # routines](/ml-engine/docs/tensorflow/custom-prediction-routines). 786 "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in 787 # response to increases and decreases in traffic. Care should be 788 # taken to ramp up traffic according to the model's ability to scale 789 # or you will start seeing increases in latency and 429 response codes. 790 "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These 791 # nodes are always up, starting from the time the model is deployed. 792 # Therefore, the cost of operating this model will be at least 793 # `rate` * `min_nodes` * number of hours since last billing cycle, 794 # where `rate` is the cost per node-hour as documented in the 795 # [pricing guide](/ml-engine/docs/pricing), 796 # even if no predictions are performed. There is additional cost for each 797 # prediction performed. 798 # 799 # Unlike manual scaling, if the load gets too heavy for the nodes 800 # that are up, the service will automatically add nodes to handle the 801 # increased load as well as scale back as traffic drops, always maintaining 802 # at least `min_nodes`. You will be charged for the time in which additional 803 # nodes are used. 804 # 805 # If not specified, `min_nodes` defaults to 0, in which case, when traffic 806 # to a model stops (and after a cool-down period), nodes will be shut down 807 # and no charges will be incurred until traffic to the model resumes. 808 # 809 # You can set `min_nodes` when creating the model version, and you can also 810 # update `min_nodes` for an existing version: 811 # <pre> 812 # update_body.json: 813 # { 814 # 'autoScaling': { 815 # 'minNodes': 5 816 # } 817 # } 818 # </pre> 819 # HTTP request: 820 # <pre> 821 # PATCH 822 # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes 823 # -d @./update_body.json 824 # </pre> 825 }, 826 "serviceAccount": "A String", # Optional. Specifies the service account for resource access control. 827 "state": "A String", # Output only. The state of a version. 828 "pythonVersion": "A String", # Optional. The version of Python used in prediction. If not set, the default 829 # version is '2.7'. Python '3.5' is available when `runtime_version` is set 830 # to '1.4' and above. Python '2.7' works with all supported runtime versions. 831 "framework": "A String", # Optional. The machine learning framework AI Platform uses to train 832 # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, 833 # `XGBOOST`. If you do not specify a framework, AI Platform 834 # will analyze files in the deployment_uri to determine a framework. If you 835 # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version 836 # of the model to 1.4 or greater. 837 # 838 # Do **not** specify a framework if you're deploying a [custom 839 # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). 840 "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom 841 # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) 842 # or [scikit-learn pipelines with custom 843 # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). 844 # 845 # For a custom prediction routine, one of these packages must contain your 846 # Predictor class (see 847 # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, 848 # include any dependencies used by your Predictor or scikit-learn pipeline 849 # uses that are not already included in your selected [runtime 850 # version](/ml-engine/docs/tensorflow/runtime-version-list). 851 # 852 # If you specify this field, you must also set 853 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 854 "A String", 855 ], 856 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 857 # prevent simultaneous updates of a model from overwriting each other. 858 # It is strongly suggested that systems make use of the `etag` in the 859 # read-modify-write cycle to perform model updates in order to avoid race 860 # conditions: An `etag` is returned in the response to `GetVersion`, and 861 # systems are expected to put that etag in the request to `UpdateVersion` to 862 # ensure that their change will be applied to the model as intended. 863 "lastUseTime": "A String", # Output only. The time the version was last used for prediction. 864 "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to 865 # create the version. See the 866 # [guide to model 867 # deployment](/ml-engine/docs/tensorflow/deploying-models) for more 868 # information. 869 # 870 # When passing Version to 871 # [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) 872 # the model service uses the specified location as the source of the model. 873 # Once deployed, the model version is hosted by the prediction service, so 874 # this location is useful only as a historical record. 875 # The total number of model files can't exceed 1000. 876 "createTime": "A String", # Output only. The time the version was created. 877 "isDefault": True or False, # Output only. If true, this version will be used to handle prediction 878 # requests that do not specify a version. 879 # 880 # You can change the default version by calling 881 # [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 882 "name": "A String", # Required.The name specified for the version when it was created. 883 # 884 # The version name must be unique within the model it is created in. 885 }, 886 ], 887 }</pre> 888</div> 889 890<div class="method"> 891 <code class="details" id="list_next">list_next(previous_request, previous_response)</code> 892 <pre>Retrieves the next page of results. 893 894Args: 895 previous_request: The request for the previous page. (required) 896 previous_response: The response from the request for the previous page. (required) 897 898Returns: 899 A request object that you can call 'execute()' on to request the next 900 page. Returns None if there are no more items in the collection. 901 </pre> 902</div> 903 904<div class="method"> 905 <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code> 906 <pre>Updates the specified Version resource. 907 908Currently the only update-able fields are `description` and 909`autoScaling.minNodes`. 910 911Args: 912 name: string, Required. The name of the model. (required) 913 body: object, The request body. (required) 914 The object takes the form of: 915 916{ # Represents a version of the model. 917 # 918 # Each version is a trained model deployed in the cloud, ready to handle 919 # prediction requests. A model can have multiple versions. You can get 920 # information about all of the versions of a given model by calling 921 # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). 922 "errorMessage": "A String", # Output only. The details of a failure or a cancellation. 923 "labels": { # Optional. One or more labels that you can add, to organize your model 924 # versions. Each label is a key-value pair, where both the key and the value 925 # are arbitrary strings that you supply. 926 # For more information, see the documentation on 927 # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>. 928 "a_key": "A String", 929 }, 930 "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only 931 # applies to online prediction service. 932 # <dl> 933 # <dt>mls1-c1-m2</dt> 934 # <dd> 935 # The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated 936 # name for this machine type is "mls1-highmem-1". 937 # </dd> 938 # <dt>mls1-c4-m2</dt> 939 # <dd> 940 # In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The 941 # deprecated name for this machine type is "mls1-highcpu-4". 942 # </dd> 943 # </dl> 944 "description": "A String", # Optional. The description specified for the version when it was created. 945 "runtimeVersion": "A String", # Optional. The AI Platform runtime version to use for this deployment. 946 # If not set, AI Platform uses the default stable version, 1.0. For more 947 # information, see the 948 # [runtime version list](/ml-engine/docs/runtime-version-list) and 949 # [how to manage runtime versions](/ml-engine/docs/versioning). 950 "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the 951 # model. You should generally use `auto_scaling` with an appropriate 952 # `min_nodes` instead, but this option is available if you want more 953 # predictable billing. Beware that latency and error rates will increase 954 # if the traffic exceeds that capability of the system to serve it based 955 # on the selected number of nodes. 956 "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up, 957 # starting from the time the model is deployed, so the cost of operating 958 # this model will be proportional to `nodes` * number of hours since 959 # last billing cycle plus the cost for each prediction performed. 960 }, 961 "predictionClass": "A String", # Optional. The fully qualified name 962 # (<var>module_name</var>.<var>class_name</var>) of a class that implements 963 # the Predictor interface described in this reference field. The module 964 # containing this class should be included in a package provided to the 965 # [`packageUris` field](#Version.FIELDS.package_uris). 966 # 967 # Specify this field if and only if you are deploying a [custom prediction 968 # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). 969 # If you specify this field, you must set 970 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 971 # 972 # The following code sample provides the Predictor interface: 973 # 974 # ```py 975 # class Predictor(object): 976 # """Interface for constructing custom predictors.""" 977 # 978 # def predict(self, instances, **kwargs): 979 # """Performs custom prediction. 980 # 981 # Instances are the decoded values from the request. They have already 982 # been deserialized from JSON. 983 # 984 # Args: 985 # instances: A list of prediction input instances. 986 # **kwargs: A dictionary of keyword args provided as additional 987 # fields on the predict request body. 988 # 989 # Returns: 990 # A list of outputs containing the prediction results. This list must 991 # be JSON serializable. 992 # """ 993 # raise NotImplementedError() 994 # 995 # @classmethod 996 # def from_path(cls, model_dir): 997 # """Creates an instance of Predictor using the given path. 998 # 999 # Loading of the predictor should be done in this method. 1000 # 1001 # Args: 1002 # model_dir: The local directory that contains the exported model 1003 # file along with any additional files uploaded when creating the 1004 # version resource. 1005 # 1006 # Returns: 1007 # An instance implementing this Predictor class. 1008 # """ 1009 # raise NotImplementedError() 1010 # ``` 1011 # 1012 # Learn more about [the Predictor interface and custom prediction 1013 # routines](/ml-engine/docs/tensorflow/custom-prediction-routines). 1014 "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in 1015 # response to increases and decreases in traffic. Care should be 1016 # taken to ramp up traffic according to the model's ability to scale 1017 # or you will start seeing increases in latency and 429 response codes. 1018 "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These 1019 # nodes are always up, starting from the time the model is deployed. 1020 # Therefore, the cost of operating this model will be at least 1021 # `rate` * `min_nodes` * number of hours since last billing cycle, 1022 # where `rate` is the cost per node-hour as documented in the 1023 # [pricing guide](/ml-engine/docs/pricing), 1024 # even if no predictions are performed. There is additional cost for each 1025 # prediction performed. 1026 # 1027 # Unlike manual scaling, if the load gets too heavy for the nodes 1028 # that are up, the service will automatically add nodes to handle the 1029 # increased load as well as scale back as traffic drops, always maintaining 1030 # at least `min_nodes`. You will be charged for the time in which additional 1031 # nodes are used. 1032 # 1033 # If not specified, `min_nodes` defaults to 0, in which case, when traffic 1034 # to a model stops (and after a cool-down period), nodes will be shut down 1035 # and no charges will be incurred until traffic to the model resumes. 1036 # 1037 # You can set `min_nodes` when creating the model version, and you can also 1038 # update `min_nodes` for an existing version: 1039 # <pre> 1040 # update_body.json: 1041 # { 1042 # 'autoScaling': { 1043 # 'minNodes': 5 1044 # } 1045 # } 1046 # </pre> 1047 # HTTP request: 1048 # <pre> 1049 # PATCH 1050 # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes 1051 # -d @./update_body.json 1052 # </pre> 1053 }, 1054 "serviceAccount": "A String", # Optional. Specifies the service account for resource access control. 1055 "state": "A String", # Output only. The state of a version. 1056 "pythonVersion": "A String", # Optional. The version of Python used in prediction. If not set, the default 1057 # version is '2.7'. Python '3.5' is available when `runtime_version` is set 1058 # to '1.4' and above. Python '2.7' works with all supported runtime versions. 1059 "framework": "A String", # Optional. The machine learning framework AI Platform uses to train 1060 # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, 1061 # `XGBOOST`. If you do not specify a framework, AI Platform 1062 # will analyze files in the deployment_uri to determine a framework. If you 1063 # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version 1064 # of the model to 1.4 or greater. 1065 # 1066 # Do **not** specify a framework if you're deploying a [custom 1067 # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). 1068 "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom 1069 # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) 1070 # or [scikit-learn pipelines with custom 1071 # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). 1072 # 1073 # For a custom prediction routine, one of these packages must contain your 1074 # Predictor class (see 1075 # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, 1076 # include any dependencies used by your Predictor or scikit-learn pipeline 1077 # uses that are not already included in your selected [runtime 1078 # version](/ml-engine/docs/tensorflow/runtime-version-list). 1079 # 1080 # If you specify this field, you must also set 1081 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 1082 "A String", 1083 ], 1084 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 1085 # prevent simultaneous updates of a model from overwriting each other. 1086 # It is strongly suggested that systems make use of the `etag` in the 1087 # read-modify-write cycle to perform model updates in order to avoid race 1088 # conditions: An `etag` is returned in the response to `GetVersion`, and 1089 # systems are expected to put that etag in the request to `UpdateVersion` to 1090 # ensure that their change will be applied to the model as intended. 1091 "lastUseTime": "A String", # Output only. The time the version was last used for prediction. 1092 "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to 1093 # create the version. See the 1094 # [guide to model 1095 # deployment](/ml-engine/docs/tensorflow/deploying-models) for more 1096 # information. 1097 # 1098 # When passing Version to 1099 # [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) 1100 # the model service uses the specified location as the source of the model. 1101 # Once deployed, the model version is hosted by the prediction service, so 1102 # this location is useful only as a historical record. 1103 # The total number of model files can't exceed 1000. 1104 "createTime": "A String", # Output only. The time the version was created. 1105 "isDefault": True or False, # Output only. If true, this version will be used to handle prediction 1106 # requests that do not specify a version. 1107 # 1108 # You can change the default version by calling 1109 # [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 1110 "name": "A String", # Required.The name specified for the version when it was created. 1111 # 1112 # The version name must be unique within the model it is created in. 1113} 1114 1115 updateMask: string, Required. Specifies the path, relative to `Version`, of the field to 1116update. Must be present and non-empty. 1117 1118For example, to change the description of a version to "foo", the 1119`update_mask` parameter would be specified as `description`, and the 1120`PATCH` request body would specify the new value, as follows: 1121 { 1122 "description": "foo" 1123 } 1124 1125Currently the only supported update mask fields are `description` and 1126`autoScaling.minNodes`. 1127 x__xgafv: string, V1 error format. 1128 Allowed values 1129 1 - v1 error format 1130 2 - v2 error format 1131 1132Returns: 1133 An object of the form: 1134 1135 { # This resource represents a long-running operation that is the result of a 1136 # network API call. 1137 "metadata": { # Service-specific metadata associated with the operation. It typically 1138 # contains progress information and common metadata such as create time. 1139 # Some services might not provide such metadata. Any method that returns a 1140 # long-running operation should document the metadata type, if any. 1141 "a_key": "", # Properties of the object. Contains field @type with type URL. 1142 }, 1143 "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. 1144 # different programming environments, including REST APIs and RPC APIs. It is 1145 # used by [gRPC](https://github.com/grpc). Each `Status` message contains 1146 # three pieces of data: error code, error message, and error details. 1147 # 1148 # You can find out more about this error model and how to work with it in the 1149 # [API Design Guide](https://cloud.google.com/apis/design/errors). 1150 "message": "A String", # A developer-facing error message, which should be in English. Any 1151 # user-facing error message should be localized and sent in the 1152 # google.rpc.Status.details field, or localized by the client. 1153 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 1154 "details": [ # A list of messages that carry the error details. There is a common set of 1155 # message types for APIs to use. 1156 { 1157 "a_key": "", # Properties of the object. Contains field @type with type URL. 1158 }, 1159 ], 1160 }, 1161 "done": True or False, # If the value is `false`, it means the operation is still in progress. 1162 # If `true`, the operation is completed, and either `error` or `response` is 1163 # available. 1164 "response": { # The normal response of the operation in case of success. If the original 1165 # method returns no data on success, such as `Delete`, the response is 1166 # `google.protobuf.Empty`. If the original method is standard 1167 # `Get`/`Create`/`Update`, the response should be the resource. For other 1168 # methods, the response should have the type `XxxResponse`, where `Xxx` 1169 # is the original method name. For example, if the original method name 1170 # is `TakeSnapshot()`, the inferred response type is 1171 # `TakeSnapshotResponse`. 1172 "a_key": "", # Properties of the object. Contains field @type with type URL. 1173 }, 1174 "name": "A String", # The server-assigned name, which is only unique within the same service that 1175 # originally returns it. If you use the default HTTP mapping, the 1176 # `name` should be a resource name ending with `operations/{unique_id}`. 1177 }</pre> 1178</div> 1179 1180<div class="method"> 1181 <code class="details" id="setDefault">setDefault(name, body=None, x__xgafv=None)</code> 1182 <pre>Designates a version to be the default for the model. 1183 1184The default version is used for prediction requests made against the model 1185that don't specify a version. 1186 1187The first version to be created for a model is automatically set as the 1188default. You must make any subsequent changes to the default version 1189setting manually using this method. 1190 1191Args: 1192 name: string, Required. The name of the version to make the default for the model. You 1193can get the names of all the versions of a model by calling 1194[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). (required) 1195 body: object, The request body. 1196 The object takes the form of: 1197 1198{ # Request message for the SetDefaultVersion request. 1199 } 1200 1201 x__xgafv: string, V1 error format. 1202 Allowed values 1203 1 - v1 error format 1204 2 - v2 error format 1205 1206Returns: 1207 An object of the form: 1208 1209 { # Represents a version of the model. 1210 # 1211 # Each version is a trained model deployed in the cloud, ready to handle 1212 # prediction requests. A model can have multiple versions. You can get 1213 # information about all of the versions of a given model by calling 1214 # [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list). 1215 "errorMessage": "A String", # Output only. The details of a failure or a cancellation. 1216 "labels": { # Optional. One or more labels that you can add, to organize your model 1217 # versions. Each label is a key-value pair, where both the key and the value 1218 # are arbitrary strings that you supply. 1219 # For more information, see the documentation on 1220 # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>. 1221 "a_key": "A String", 1222 }, 1223 "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only 1224 # applies to online prediction service. 1225 # <dl> 1226 # <dt>mls1-c1-m2</dt> 1227 # <dd> 1228 # The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated 1229 # name for this machine type is "mls1-highmem-1". 1230 # </dd> 1231 # <dt>mls1-c4-m2</dt> 1232 # <dd> 1233 # In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The 1234 # deprecated name for this machine type is "mls1-highcpu-4". 1235 # </dd> 1236 # </dl> 1237 "description": "A String", # Optional. The description specified for the version when it was created. 1238 "runtimeVersion": "A String", # Optional. The AI Platform runtime version to use for this deployment. 1239 # If not set, AI Platform uses the default stable version, 1.0. For more 1240 # information, see the 1241 # [runtime version list](/ml-engine/docs/runtime-version-list) and 1242 # [how to manage runtime versions](/ml-engine/docs/versioning). 1243 "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the 1244 # model. You should generally use `auto_scaling` with an appropriate 1245 # `min_nodes` instead, but this option is available if you want more 1246 # predictable billing. Beware that latency and error rates will increase 1247 # if the traffic exceeds that capability of the system to serve it based 1248 # on the selected number of nodes. 1249 "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up, 1250 # starting from the time the model is deployed, so the cost of operating 1251 # this model will be proportional to `nodes` * number of hours since 1252 # last billing cycle plus the cost for each prediction performed. 1253 }, 1254 "predictionClass": "A String", # Optional. The fully qualified name 1255 # (<var>module_name</var>.<var>class_name</var>) of a class that implements 1256 # the Predictor interface described in this reference field. The module 1257 # containing this class should be included in a package provided to the 1258 # [`packageUris` field](#Version.FIELDS.package_uris). 1259 # 1260 # Specify this field if and only if you are deploying a [custom prediction 1261 # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). 1262 # If you specify this field, you must set 1263 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 1264 # 1265 # The following code sample provides the Predictor interface: 1266 # 1267 # ```py 1268 # class Predictor(object): 1269 # """Interface for constructing custom predictors.""" 1270 # 1271 # def predict(self, instances, **kwargs): 1272 # """Performs custom prediction. 1273 # 1274 # Instances are the decoded values from the request. They have already 1275 # been deserialized from JSON. 1276 # 1277 # Args: 1278 # instances: A list of prediction input instances. 1279 # **kwargs: A dictionary of keyword args provided as additional 1280 # fields on the predict request body. 1281 # 1282 # Returns: 1283 # A list of outputs containing the prediction results. This list must 1284 # be JSON serializable. 1285 # """ 1286 # raise NotImplementedError() 1287 # 1288 # @classmethod 1289 # def from_path(cls, model_dir): 1290 # """Creates an instance of Predictor using the given path. 1291 # 1292 # Loading of the predictor should be done in this method. 1293 # 1294 # Args: 1295 # model_dir: The local directory that contains the exported model 1296 # file along with any additional files uploaded when creating the 1297 # version resource. 1298 # 1299 # Returns: 1300 # An instance implementing this Predictor class. 1301 # """ 1302 # raise NotImplementedError() 1303 # ``` 1304 # 1305 # Learn more about [the Predictor interface and custom prediction 1306 # routines](/ml-engine/docs/tensorflow/custom-prediction-routines). 1307 "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in 1308 # response to increases and decreases in traffic. Care should be 1309 # taken to ramp up traffic according to the model's ability to scale 1310 # or you will start seeing increases in latency and 429 response codes. 1311 "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These 1312 # nodes are always up, starting from the time the model is deployed. 1313 # Therefore, the cost of operating this model will be at least 1314 # `rate` * `min_nodes` * number of hours since last billing cycle, 1315 # where `rate` is the cost per node-hour as documented in the 1316 # [pricing guide](/ml-engine/docs/pricing), 1317 # even if no predictions are performed. There is additional cost for each 1318 # prediction performed. 1319 # 1320 # Unlike manual scaling, if the load gets too heavy for the nodes 1321 # that are up, the service will automatically add nodes to handle the 1322 # increased load as well as scale back as traffic drops, always maintaining 1323 # at least `min_nodes`. You will be charged for the time in which additional 1324 # nodes are used. 1325 # 1326 # If not specified, `min_nodes` defaults to 0, in which case, when traffic 1327 # to a model stops (and after a cool-down period), nodes will be shut down 1328 # and no charges will be incurred until traffic to the model resumes. 1329 # 1330 # You can set `min_nodes` when creating the model version, and you can also 1331 # update `min_nodes` for an existing version: 1332 # <pre> 1333 # update_body.json: 1334 # { 1335 # 'autoScaling': { 1336 # 'minNodes': 5 1337 # } 1338 # } 1339 # </pre> 1340 # HTTP request: 1341 # <pre> 1342 # PATCH 1343 # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes 1344 # -d @./update_body.json 1345 # </pre> 1346 }, 1347 "serviceAccount": "A String", # Optional. Specifies the service account for resource access control. 1348 "state": "A String", # Output only. The state of a version. 1349 "pythonVersion": "A String", # Optional. The version of Python used in prediction. If not set, the default 1350 # version is '2.7'. Python '3.5' is available when `runtime_version` is set 1351 # to '1.4' and above. Python '2.7' works with all supported runtime versions. 1352 "framework": "A String", # Optional. The machine learning framework AI Platform uses to train 1353 # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, 1354 # `XGBOOST`. If you do not specify a framework, AI Platform 1355 # will analyze files in the deployment_uri to determine a framework. If you 1356 # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version 1357 # of the model to 1.4 or greater. 1358 # 1359 # Do **not** specify a framework if you're deploying a [custom 1360 # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). 1361 "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom 1362 # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) 1363 # or [scikit-learn pipelines with custom 1364 # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). 1365 # 1366 # For a custom prediction routine, one of these packages must contain your 1367 # Predictor class (see 1368 # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, 1369 # include any dependencies used by your Predictor or scikit-learn pipeline 1370 # uses that are not already included in your selected [runtime 1371 # version](/ml-engine/docs/tensorflow/runtime-version-list). 1372 # 1373 # If you specify this field, you must also set 1374 # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater. 1375 "A String", 1376 ], 1377 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 1378 # prevent simultaneous updates of a model from overwriting each other. 1379 # It is strongly suggested that systems make use of the `etag` in the 1380 # read-modify-write cycle to perform model updates in order to avoid race 1381 # conditions: An `etag` is returned in the response to `GetVersion`, and 1382 # systems are expected to put that etag in the request to `UpdateVersion` to 1383 # ensure that their change will be applied to the model as intended. 1384 "lastUseTime": "A String", # Output only. The time the version was last used for prediction. 1385 "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to 1386 # create the version. See the 1387 # [guide to model 1388 # deployment](/ml-engine/docs/tensorflow/deploying-models) for more 1389 # information. 1390 # 1391 # When passing Version to 1392 # [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create) 1393 # the model service uses the specified location as the source of the model. 1394 # Once deployed, the model version is hosted by the prediction service, so 1395 # this location is useful only as a historical record. 1396 # The total number of model files can't exceed 1000. 1397 "createTime": "A String", # Output only. The time the version was created. 1398 "isDefault": True or False, # Output only. If true, this version will be used to handle prediction 1399 # requests that do not specify a version. 1400 # 1401 # You can change the default version by calling 1402 # [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault). 1403 "name": "A String", # Required.The name specified for the version when it was created. 1404 # 1405 # The version name must be unique within the model it is created in. 1406 }</pre> 1407</div> 1408 1409</body></html>