From f5647cdbbbc68eec133f6ebc7b9955cda20a47d0 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 12 Feb 2021 15:53:21 -0800 Subject: [PATCH 1/5] feat: exposes v1 enhanced types and adds tests --- .../cloud/aiplatform/gapic/schema/__init__.py | 36 +++++++++++++++---- .../enhanced_library/test_enhanced_types.py | 27 +++++++++++++- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/google/cloud/aiplatform/gapic/schema/__init__.py b/google/cloud/aiplatform/gapic/schema/__init__.py index 8b93f6ff9a..6b670920b9 100644 --- a/google/cloud/aiplatform/gapic/schema/__init__.py +++ b/google/cloud/aiplatform/gapic/schema/__init__.py @@ -15,24 +15,44 @@ # limitations under the License. from google.cloud.aiplatform.helpers import _decorators -from google.cloud.aiplatform.v1beta1.schema import predict -from google.cloud.aiplatform.v1beta1.schema import trainingjob -from google.cloud.aiplatform.v1beta1.schema.predict.instance_v1beta1 import ( +from google.cloud.aiplatform.v1.schema import predict +from google.cloud.aiplatform.v1.schema import trainingjob +from google.cloud.aiplatform.v1beta1.schema import predict as predict_v1beta1 +from google.cloud.aiplatform.v1beta1.schema import predict as trainingjob_v1beta1 + +# import the v1 submodules for enhancement +from google.cloud.aiplatform.v1.schema.predict.instance_v1beta1 import ( types as instance, ) -from google.cloud.aiplatform.v1beta1.schema.predict.params_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.predict.params_v1beta1 import ( types as params, ) -from google.cloud.aiplatform.v1beta1.schema.predict.prediction_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.predict.prediction_v1beta1 import ( types as prediction, ) -from google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.trainingjob.definition_v1beta1 import ( types as definition, ) +# import the v1beta1 submodules for enhancement +from google.cloud.aiplatform.v1beta1.schema.predict.instance_v1beta1 import ( + types as instance_v1beta1, +) +from google.cloud.aiplatform.v1beta1.schema.predict.params_v1beta1 import ( + types as params_v1beta1, +) +from google.cloud.aiplatform.v1beta1.schema.predict.prediction_v1beta1 import ( + types as prediction_v1beta1, +) +from google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1 import ( + types as definition_v1beta1, +) + __all__ = ( "predict", "trainingjob", + "predict_v1beta1", + "trainingjob_v1beta1", ) enhanced_types_packages = [ @@ -40,6 +60,10 @@ params, prediction, definition, + instance_v1beta1, + params_v1beta1, + prediction_v1beta1, + definition_v1beta1, ] for pkg in enhanced_types_packages: diff --git a/tests/unit/enhanced_library/test_enhanced_types.py b/tests/unit/enhanced_library/test_enhanced_types.py index e0a3120909..8a944e0769 100644 --- a/tests/unit/enhanced_library/test_enhanced_types.py +++ b/tests/unit/enhanced_library/test_enhanced_types.py @@ -13,7 +13,10 @@ # limitations under the License. from __future__ import absolute_import -from google.cloud.aiplatform.v1beta1.schema.trainingjob import definition +from google.cloud.aiplatform.v1.schema.trainingjob import definition +from google.cloud.aiplatform.v1beta1.schema.trainingjob import ( + definition as definition_v1beta1 +) ModelType = definition.AutoMlImageClassificationInputs().ModelType test_training_input = definition.AutoMlImageClassificationInputs( @@ -23,7 +26,16 @@ disable_early_stopping=False, ) +ModelType_v1beta1 = definition_v1beta1.AutoMlImageClassificationInputs().ModelType +test_training_input_v1beta1 = definition.AutoMlImageClassificationInputs( + multi_label=True, + model_type=ModelType_v1beta1.CLOUD, + budget_milli_node_hours=8000, + disable_early_stopping=False, +) + +# Test the v1 enhanced types. def test_exposes_to_value_method(): assert hasattr(test_training_input, "to_value") @@ -34,3 +46,16 @@ def test_exposes_from_value_method(): def test_exposes_from_map_method(): assert hasattr(test_training_input, "from_map") + + +# Test the v1beta1 enhanced types. +def test_exposes_to_value_method(): + assert hasattr(test_training_input_v1beta1, "to_value") + + +def test_exposes_from_value_method(): + assert hasattr(test_training_input_v1beta1, "from_value") + + +def test_exposes_from_map_method(): + assert hasattr(test_training_input_v1beta1, "from_map") \ No newline at end of file From a78cfcd3a823e54c55ed7f978e63abf32a279d69 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 12 Feb 2021 16:02:54 -0800 Subject: [PATCH 2/5] fix: typo --- google/cloud/aiplatform/gapic/schema/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/google/cloud/aiplatform/gapic/schema/__init__.py b/google/cloud/aiplatform/gapic/schema/__init__.py index 6b670920b9..c2aba0f9a7 100644 --- a/google/cloud/aiplatform/gapic/schema/__init__.py +++ b/google/cloud/aiplatform/gapic/schema/__init__.py @@ -21,16 +21,16 @@ from google.cloud.aiplatform.v1beta1.schema import predict as trainingjob_v1beta1 # import the v1 submodules for enhancement -from google.cloud.aiplatform.v1.schema.predict.instance_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.predict.instance_v1 import ( types as instance, ) -from google.cloud.aiplatform.v1.schema.predict.params_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.predict.params_v1 import ( types as params, ) -from google.cloud.aiplatform.v1.schema.predict.prediction_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.predict.prediction_v1 import ( types as prediction, ) -from google.cloud.aiplatform.v1.schema.trainingjob.definition_v1beta1 import ( +from google.cloud.aiplatform.v1.schema.trainingjob.definition_v1 import ( types as definition, ) From 94c8e9757f930a0a551e56f118f1781ee5799063 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Tue, 16 Feb 2021 14:52:59 -0800 Subject: [PATCH 3/5] fix: broken test, bad imports --- google/cloud/aiplatform/v1/schema/__init__.py | 25 ++++++++++++++++++ .../aiplatform/v1/schema/predict/__init__.py | 26 +++++++++++++++++++ .../v1/schema/trainingjob/__init__.py | 20 ++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 google/cloud/aiplatform/v1/schema/__init__.py create mode 100644 google/cloud/aiplatform/v1/schema/predict/__init__.py create mode 100644 google/cloud/aiplatform/v1/schema/trainingjob/__init__.py diff --git a/google/cloud/aiplatform/v1/schema/__init__.py b/google/cloud/aiplatform/v1/schema/__init__.py new file mode 100644 index 0000000000..0502180237 --- /dev/null +++ b/google/cloud/aiplatform/v1/schema/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from google.cloud.aiplatform.v1.schema import predict +from google.cloud.aiplatform.v1.schema import trainingjob + + +__all__ = ( + "predict", + "trainingjob", +) \ No newline at end of file diff --git a/google/cloud/aiplatform/v1/schema/predict/__init__.py b/google/cloud/aiplatform/v1/schema/predict/__init__.py new file mode 100644 index 0000000000..36277d5ae8 --- /dev/null +++ b/google/cloud/aiplatform/v1/schema/predict/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- + +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from google.cloud.aiplatform.v1.schema.predict import instance +from google.cloud.aiplatform.v1.schema.predict import params +from google.cloud.aiplatform.v1.schema.predict import prediction + +__all__ = ( + "instance", + "params", + "prediction", +) diff --git a/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py b/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py new file mode 100644 index 0000000000..33fccd65d9 --- /dev/null +++ b/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from google.cloud.aiplatform.v1.schema.trainingjob import definition + +__all__ = ("definition",) \ No newline at end of file From 1960c0f59839cc46d7498ab5ca38e91126f6df0d Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Tue, 16 Feb 2021 15:15:25 -0800 Subject: [PATCH 4/5] fix: lint --- google/cloud/aiplatform/gapic/schema/__init__.py | 12 +++--------- google/cloud/aiplatform/v1/schema/__init__.py | 2 +- .../aiplatform/v1/schema/trainingjob/__init__.py | 2 +- tests/unit/enhanced_library/test_enhanced_types.py | 4 ++-- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/google/cloud/aiplatform/gapic/schema/__init__.py b/google/cloud/aiplatform/gapic/schema/__init__.py index c2aba0f9a7..e726749c77 100644 --- a/google/cloud/aiplatform/gapic/schema/__init__.py +++ b/google/cloud/aiplatform/gapic/schema/__init__.py @@ -21,15 +21,9 @@ from google.cloud.aiplatform.v1beta1.schema import predict as trainingjob_v1beta1 # import the v1 submodules for enhancement -from google.cloud.aiplatform.v1.schema.predict.instance_v1 import ( - types as instance, -) -from google.cloud.aiplatform.v1.schema.predict.params_v1 import ( - types as params, -) -from google.cloud.aiplatform.v1.schema.predict.prediction_v1 import ( - types as prediction, -) +from google.cloud.aiplatform.v1.schema.predict.instance_v1 import types as instance +from google.cloud.aiplatform.v1.schema.predict.params_v1 import types as params +from google.cloud.aiplatform.v1.schema.predict.prediction_v1 import types as prediction from google.cloud.aiplatform.v1.schema.trainingjob.definition_v1 import ( types as definition, ) diff --git a/google/cloud/aiplatform/v1/schema/__init__.py b/google/cloud/aiplatform/v1/schema/__init__.py index 0502180237..579513a95f 100644 --- a/google/cloud/aiplatform/v1/schema/__init__.py +++ b/google/cloud/aiplatform/v1/schema/__init__.py @@ -22,4 +22,4 @@ __all__ = ( "predict", "trainingjob", -) \ No newline at end of file +) diff --git a/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py b/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py index 33fccd65d9..60ade065d2 100644 --- a/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py +++ b/google/cloud/aiplatform/v1/schema/trainingjob/__init__.py @@ -17,4 +17,4 @@ from google.cloud.aiplatform.v1.schema.trainingjob import definition -__all__ = ("definition",) \ No newline at end of file +__all__ = ("definition",) diff --git a/tests/unit/enhanced_library/test_enhanced_types.py b/tests/unit/enhanced_library/test_enhanced_types.py index 8a944e0769..d3d7b7542f 100644 --- a/tests/unit/enhanced_library/test_enhanced_types.py +++ b/tests/unit/enhanced_library/test_enhanced_types.py @@ -15,7 +15,7 @@ from google.cloud.aiplatform.v1.schema.trainingjob import definition from google.cloud.aiplatform.v1beta1.schema.trainingjob import ( - definition as definition_v1beta1 + definition as definition_v1beta1, ) ModelType = definition.AutoMlImageClassificationInputs().ModelType @@ -58,4 +58,4 @@ def test_exposes_from_value_method(): def test_exposes_from_map_method(): - assert hasattr(test_training_input_v1beta1, "from_map") \ No newline at end of file + assert hasattr(test_training_input_v1beta1, "from_map") From 2be37a4432bfd0beed978ae34972a776ecf65fec Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Tue, 16 Feb 2021 15:27:10 -0800 Subject: [PATCH 5/5] fix: test names --- tests/unit/enhanced_library/test_enhanced_types.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/unit/enhanced_library/test_enhanced_types.py b/tests/unit/enhanced_library/test_enhanced_types.py index d3d7b7542f..b63c77c467 100644 --- a/tests/unit/enhanced_library/test_enhanced_types.py +++ b/tests/unit/enhanced_library/test_enhanced_types.py @@ -36,26 +36,26 @@ # Test the v1 enhanced types. -def test_exposes_to_value_method(): +def test_exposes_to_value_method_v1(): assert hasattr(test_training_input, "to_value") -def test_exposes_from_value_method(): +def test_exposes_from_value_method_v1(): assert hasattr(test_training_input, "from_value") -def test_exposes_from_map_method(): +def test_exposes_from_map_method_v1(): assert hasattr(test_training_input, "from_map") # Test the v1beta1 enhanced types. -def test_exposes_to_value_method(): +def test_exposes_to_value_method_v1beta1(): assert hasattr(test_training_input_v1beta1, "to_value") -def test_exposes_from_value_method(): +def test_exposes_from_value_method_v1beta1(): assert hasattr(test_training_input_v1beta1, "from_value") -def test_exposes_from_map_method(): +def test_exposes_from_map_method_v1beta1(): assert hasattr(test_training_input_v1beta1, "from_map")