Class: Google::Apis::MlV1::GoogleCloudMlV1AutoScaling

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/ml_v1/classes.rb,
generated/google/apis/ml_v1/representations.rb,
generated/google/apis/ml_v1/representations.rb

Overview

Options for automatically scaling a model.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudMlV1AutoScaling

Returns a new instance of GoogleCloudMlV1AutoScaling.



557
558
559
# File 'generated/google/apis/ml_v1/classes.rb', line 557

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#max_nodesFixnum

The maximum number of nodes to scale this model under load. The actual value will depend on resource quota and availability. Corresponds to the JSON property maxNodes

Returns:

  • (Fixnum)


521
522
523
# File 'generated/google/apis/ml_v1/classes.rb', line 521

def max_nodes
  @max_nodes
end

#metricsArray<Google::Apis::MlV1::GoogleCloudMlV1MetricSpec>

MetricSpec contains the specifications to use to calculate the desired nodes count. Corresponds to the JSON property metrics



527
528
529
# File 'generated/google/apis/ml_v1/classes.rb', line 527

def metrics
  @metrics
end

#min_nodesFixnum

Optional. The minimum number of nodes to allocate for this model. These nodes are always up, starting from the time the model is deployed. Therefore, the cost of operating this model will be at least rate * min_nodes * number of hours since last billing cycle, where rate is the cost per node-hour as documented in the pricing guide, even if no predictions are performed. There is additional cost for each prediction performed. Unlike manual scaling, if the load gets too heavy for the nodes that are up, the service will automatically add nodes to handle the increased load as well as scale back as traffic drops, always maintaining at least min_nodes. You will be charged for the time in which additional nodes are used. If min_nodes is not specified and AutoScaling is used with a legacy ( MLS1) machine type, min_nodes defaults to 0, in which case, when traffic to a model stops (and after a cool-down period), nodes will be shut down and no charges will be incurred until traffic to the model resumes. If min_nodes is not specified and AutoScaling is used with a Compute Engine (N1) machine type, min_nodes defaults to 1. min_nodes must be at least 1 for use with a Compute Engine machine type. Note that you cannot use AutoScaling if your version uses GPUs. Instead, you must use ManualScaling. You can set min_nodes when creating the model version, and you can also update min_nodes for an existing version: update_body.json: 'autoScaling': 'minNodes': 5 HTTP request: PATCH https://ml.googleapis.com/v1/`name=projects/*/models/*/ versions/*?update_mask=autoScaling.minNodes -d @./update_body.json Corresponds to the JSON propertyminNodes`

Returns:

  • (Fixnum)


555
556
557
# File 'generated/google/apis/ml_v1/classes.rb', line 555

def min_nodes
  @min_nodes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



562
563
564
565
566
# File 'generated/google/apis/ml_v1/classes.rb', line 562

def update!(**args)
  @max_nodes = args[:max_nodes] if args.key?(:max_nodes)
  @metrics = args[:metrics] if args.key?(:metrics)
  @min_nodes = args[:min_nodes] if args.key?(:min_nodes)
end