Class: Google::Apis::MlV1::GoogleCloudMlV1Version

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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GoogleCloudMlV1Version

Returns a new instance of GoogleCloudMlV1Version



1706
1707
1708
# File 'generated/google/apis/ml_v1/classes.rb', line 1706

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

Instance Attribute Details

#auto_scalingGoogle::Apis::MlV1::GoogleCloudMlV1AutoScaling

Options for automatically scaling a model. Corresponds to the JSON property autoScaling



1534
1535
1536
# File 'generated/google/apis/ml_v1/classes.rb', line 1534

def auto_scaling
  @auto_scaling
end

#create_timeString

Output only. The time the version was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1539
1540
1541
# File 'generated/google/apis/ml_v1/classes.rb', line 1539

def create_time
  @create_time
end

#deployment_uriString

Required. The Google Cloud Storage location of the trained model used to create the version. See the guide to model deployment for more information. When passing Version to projects.models.versions.create the model service uses the specified location as the source of the model. Once deployed, the model version is hosted by the prediction service, so this location is useful only as a historical record. The total number of model files can't exceed 1000. Corresponds to the JSON property deploymentUri

Returns:

  • (String)


1555
1556
1557
# File 'generated/google/apis/ml_v1/classes.rb', line 1555

def deployment_uri
  @deployment_uri
end

#descriptionString

Optional. The description specified for the version when it was created. Corresponds to the JSON property description

Returns:

  • (String)


1560
1561
1562
# File 'generated/google/apis/ml_v1/classes.rb', line 1560

def description
  @description
end

#error_messageString

Output only. The details of a failure or a cancellation. Corresponds to the JSON property errorMessage

Returns:

  • (String)


1565
1566
1567
# File 'generated/google/apis/ml_v1/classes.rb', line 1565

def error_message
  @error_message
end

#etagString

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a model from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform model updates in order to avoid race conditions: An etag is returned in the response to GetVersion, and systems are expected to put that etag in the request to UpdateVersion to ensure that their change will be applied to the model as intended. Corresponds to the JSON property etag NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


1577
1578
1579
# File 'generated/google/apis/ml_v1/classes.rb', line 1577

def etag
  @etag
end

#frameworkString

Optional. The machine learning framework Cloud ML Engine uses to train this version of the model. Valid values are TENSORFLOW, SCIKIT_LEARN, XGBOOST. If you do not specify a framework, Cloud ML Engine will analyze files in the deployment_uri to determine a framework. If you choose SCIKIT_LEARN or XGBOOST, you must also set the runtime version of the model to 1.4 or greater. Corresponds to the JSON property framework

Returns:

  • (String)


1587
1588
1589
# File 'generated/google/apis/ml_v1/classes.rb', line 1587

def framework
  @framework
end

#is_defaultBoolean Also known as: is_default?

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. Corresponds to the JSON property isDefault

Returns:

  • (Boolean)


1596
1597
1598
# File 'generated/google/apis/ml_v1/classes.rb', line 1596

def is_default
  @is_default
end

#labelsHash<String,String>

Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1606
1607
1608
# File 'generated/google/apis/ml_v1/classes.rb', line 1606

def labels
  @labels
end

#last_use_timeString

Output only. The time the version was last used for prediction. Corresponds to the JSON property lastUseTime

Returns:

  • (String)


1611
1612
1613
# File 'generated/google/apis/ml_v1/classes.rb', line 1611

def last_use_time
  @last_use_time
end

#machine_typeString

Optional. The type of machine on which to serve the model. Currently only applies to online prediction service.

mls1-c1-m2
The default machine type, with 1 core and 2 GB RAM. The deprecated name for this machine type is "mls1-highmem-1".
mls1-c4-m2
In Beta. This machine type has 4 cores and 2 GB RAM. The deprecated name for this machine type is "mls1-highcpu-4".

Corresponds to the JSON property machineType

Returns:

  • (String)


1629
1630
1631
# File 'generated/google/apis/ml_v1/classes.rb', line 1629

def machine_type
  @machine_type
end

#manual_scalingGoogle::Apis::MlV1::GoogleCloudMlV1ManualScaling

Options for manually scaling a model. Corresponds to the JSON property manualScaling



1634
1635
1636
# File 'generated/google/apis/ml_v1/classes.rb', line 1634

def manual_scaling
  @manual_scaling
end

#nameString

Required.The name specified for the version when it was created. The version name must be unique within the model it is created in. Corresponds to the JSON property name

Returns:

  • (String)


1640
1641
1642
# File 'generated/google/apis/ml_v1/classes.rb', line 1640

def name
  @name
end

#package_urisArray<String>

Optional. The Google Cloud Storage location of the packages for custom prediction and any additional dependencies. Corresponds to the JSON property packageUris

Returns:

  • (Array<String>)


1646
1647
1648
# File 'generated/google/apis/ml_v1/classes.rb', line 1646

def package_uris
  @package_uris
end

#prediction_classString

class PredictionClass(object): """A Model performs predictions on a given list of instances. The input instances are the raw values sent by the user. It is the responsibility of a Model to translate these instances into actual predictions. The input instances and the output use python data types. The input instances have been decoded prior to being passed to the predict method. The output, which should use python data types is encoded after being returned from the predict method. """ def predict(self, instances, **kwargs): """Returns predictions for the provided instances. Instances are the decoded values from the request. Clients need not worry about decoding json nor base64 decoding. Args: instances: A list of instances, as described in the API. **kwargs: Additional keyword arguments, will be passed into the client's predict method. Returns: A list of outputs containing the prediction results. """ def from_path(cls, model_path): """Creates a model using the given model path. Path is useful, e.g., to load files from the exported directory containing the model. Args: model_path: 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 Model class. """ Corresponds to the JSON property predictionClass

Returns:

  • (String)


1683
1684
1685
# File 'generated/google/apis/ml_v1/classes.rb', line 1683

def prediction_class
  @prediction_class
end

#python_versionString

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

Returns:

  • (String)


1690
1691
1692
# File 'generated/google/apis/ml_v1/classes.rb', line 1690

def python_version
  @python_version
end

#runtime_versionString

Optional. The Cloud ML Engine runtime version to use for this deployment. If not set, Cloud ML Engine uses the default stable version, 1.0. For more information, see the runtime version list and how to manage runtime versions. Corresponds to the JSON property runtimeVersion

Returns:

  • (String)


1699
1700
1701
# File 'generated/google/apis/ml_v1/classes.rb', line 1699

def runtime_version
  @runtime_version
end

#stateString

Output only. The state of a version. Corresponds to the JSON property state

Returns:

  • (String)


1704
1705
1706
# File 'generated/google/apis/ml_v1/classes.rb', line 1704

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
# File 'generated/google/apis/ml_v1/classes.rb', line 1711

def update!(**args)
  @auto_scaling = args[:auto_scaling] if args.key?(:auto_scaling)
  @create_time = args[:create_time] if args.key?(:create_time)
  @deployment_uri = args[:deployment_uri] if args.key?(:deployment_uri)
  @description = args[:description] if args.key?(:description)
  @error_message = args[:error_message] if args.key?(:error_message)
  @etag = args[:etag] if args.key?(:etag)
  @framework = args[:framework] if args.key?(:framework)
  @is_default = args[:is_default] if args.key?(:is_default)
  @labels = args[:labels] if args.key?(:labels)
  @last_use_time = args[:last_use_time] if args.key?(:last_use_time)
  @machine_type = args[:machine_type] if args.key?(:machine_type)
  @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
  @name = args[:name] if args.key?(:name)
  @package_uris = args[:package_uris] if args.key?(:package_uris)
  @prediction_class = args[:prediction_class] if args.key?(:prediction_class)
  @python_version = args[:python_version] if args.key?(:python_version)
  @runtime_version = args[:runtime_version] if args.key?(:runtime_version)
  @state = args[:state] if args.key?(:state)
end