From 0c3482ec0f456d6aa073d94cd0df4992058f62d9 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Tue, 10 Dec 2024 23:31:07 +0100 Subject: [PATCH 01/26] add vertexai experiment tracker flavor --- src/zenml/integrations/gcp/__init__.py | 3 + .../gcp/experiment_trackers/__init__.py | 18 ++ .../vertex_experiment_tracker.py | 203 ++++++++++++++++++ .../integrations/gcp/flavors/__init__.py | 6 + .../vertex_experiment_tracker_flavor.py | 165 ++++++++++++++ 5 files changed, 395 insertions(+) create mode 100644 src/zenml/integrations/gcp/experiment_trackers/__init__.py create mode 100644 src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py create mode 100644 src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py diff --git a/src/zenml/integrations/gcp/__init__.py b/src/zenml/integrations/gcp/__init__.py index 0c3508546d8..231d3b9f62e 100644 --- a/src/zenml/integrations/gcp/__init__.py +++ b/src/zenml/integrations/gcp/__init__.py @@ -30,6 +30,7 @@ GCP_ARTIFACT_STORE_FLAVOR = "gcp" GCP_IMAGE_BUILDER_FLAVOR = "gcp" +GCP_VERTEX_EXPERIMENT_TRACKER_FLAVOR = "vertex" GCP_VERTEX_ORCHESTRATOR_FLAVOR = "vertex" GCP_VERTEX_STEP_OPERATOR_FLAVOR = "vertex" @@ -70,6 +71,7 @@ def flavors(cls) -> List[Type[Flavor]]: from zenml.integrations.gcp.flavors import ( GCPArtifactStoreFlavor, GCPImageBuilderFlavor, + VertexExperimentTrackerFlavor, VertexOrchestratorFlavor, VertexStepOperatorFlavor, ) @@ -77,6 +79,7 @@ def flavors(cls) -> List[Type[Flavor]]: return [ GCPArtifactStoreFlavor, GCPImageBuilderFlavor, + VertexExperimentTrackerFlavor, VertexOrchestratorFlavor, VertexStepOperatorFlavor, ] diff --git a/src/zenml/integrations/gcp/experiment_trackers/__init__.py b/src/zenml/integrations/gcp/experiment_trackers/__init__.py new file mode 100644 index 00000000000..16ab7042f80 --- /dev/null +++ b/src/zenml/integrations/gcp/experiment_trackers/__init__.py @@ -0,0 +1,18 @@ +# 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. +"""Initialization for the VertexAI experiment tracker.""" + +from zenml.integrations.gcp.experiment_trackers.vertex_experiment_tracker import ( # noqa + VertexExperimentTracker, +) + +__all__ = ["VertexExperimentTracker"] diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py new file mode 100644 index 00000000000..697ebd36e61 --- /dev/null +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -0,0 +1,203 @@ +# Copyright (c) ZenML GmbH 2022. All Rights Reserved. +# +# 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: +# +# https://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. +"""Implementation of the VertexAI experiment tracker for ZenML.""" + +import re +from typing import TYPE_CHECKING, Dict, Type, cast + +from google.api_core import exceptions +from google.cloud import aiplatform +from google.cloud.aiplatform.compat.types import execution + +from zenml.constants import METADATA_EXPERIMENT_TRACKER_URL +from zenml.experiment_trackers.base_experiment_tracker import ( + BaseExperimentTracker, +) +from zenml.integrations.gcp.flavors.vertex_experiment_tracker_flavor import ( + VertexExperimentTrackerConfig, + VertexExperimentTrackerSettings, +) +from zenml.integrations.gcp.google_credentials_mixin import ( + GoogleCredentialsMixin, +) +from zenml.logger import get_logger +from zenml.metadata.metadata_types import Uri + +if TYPE_CHECKING: + from zenml.config.step_run_info import StepRunInfo + from zenml.metadata.metadata_types import MetadataType + +logger = get_logger(__name__) + + +class VertexExperimentTracker(BaseExperimentTracker, GoogleCredentialsMixin): + """Track experiments using VertexAI.""" + + @property + def config(self) -> VertexExperimentTrackerConfig: + """Returns the `VertexExperimentTrackerConfig` config. + + Returns: + The configuration. + """ + return cast(VertexExperimentTrackerConfig, self._config) + + @property + def settings_class(self) -> Type[VertexExperimentTrackerSettings]: + """Returns the `BaseSettings` settings class. + + Returns: + The settings class. + """ + return VertexExperimentTrackerSettings + + def prepare_step_run(self, info: "StepRunInfo") -> None: + """Configures a VertexAI run. + + Args: + info: Info about the step that will be executed. + """ + self._initialize_vertex(info=info) + + def get_step_run_metadata( + self, info: "StepRunInfo" + ) -> Dict[str, "MetadataType"]: + """Get component- and step-specific metadata after a step ran. + + Args: + info: Info about the step that was executed. + + Returns: + A dictionary of metadata. + """ + run_name = self._get_run_name(info=info) + run_url = self._get_run_url(info=info) + return { + METADATA_EXPERIMENT_TRACKER_URL: Uri(run_url), + "vertex_run_name": run_name, + } + + def _format_name(self, name: str) -> str: + return re.sub(r"[^a-z0-9-]", "-", name.strip().lower())[:128].rstrip( + "-" + ) + + def _get_experiment_name(self, info: "StepRunInfo") -> str: + """Gets the experiment name. + + Args: + info: Info about the + """ + settings = cast( + VertexExperimentTrackerSettings, self.get_settings(info) + ) + name = settings.experiment or info.pipeline.name + return self._format_name(name) + + def _get_run_name(self, info: "StepRunInfo") -> str: + """Gets the run name. + + Args: + info: Info about the step that will be executed. + + Returns: + The run name. + """ + return self._format_name(info.run_name) + + def _get_tensorboard_resource_name(self, experiment: str) -> str | None: + resource = aiplatform.Experiment( + experiment + ).get_backing_tensorboard_resource() + if resource is not None: + return resource.resource_name + + def _initialize_vertex(self, info: "StepRunInfo") -> None: + """Initializes a VertexAI run. + + Args: + info: Info about the step that will be executed. + """ + settings = cast( + VertexExperimentTrackerSettings, self.get_settings(info) + ) + experiment = self._get_experiment_name(info=info) + run_name = self._get_run_name(info=info) + credentials, project = self._get_authentication() + logger.info( + f"Initializing VertexAI with experiment name {experiment} and run name {run_name}." + ) + + aiplatform.init( + project=project, + location=self.config.location, + experiment=experiment, + experiment_tensorboard=settings.experiment_tensorboard, + staging_bucket=self.config.staging_bucket, + credentials=credentials, + encryption_spec_key_name=self.config.encryption_spec_key_name, + network=self.config.network, + ) + + try: + aiplatform.start_run( + run=run_name, + tensorboard=settings.experiment_tensorboard, + resume=True, + ) + except exceptions.NotFound: + aiplatform.start_run( + run=run_name, + tensorboard=settings.experiment_tensorboard, + resume=False, + ) + + logger.info( + f"Tensorboard resource name: {self._get_tensorboard_resource_name(experiment=experiment)}" + ) + + def _get_run_url(self, info: "StepRunInfo") -> str: + """Gets the run URL. + + Args: + info: Info about the step that will be executed. + + Returns: + The run URL. + """ + settings = cast( + VertexExperimentTrackerSettings, self.get_settings(info) + ) + experiment = settings.experiment or info.pipeline.name + run_name = self._get_run_name(info=info) + run_url = ( + f"https://console.cloud.google.com/vertex-ai/experiments/locations/" + f"{self.config.location}/experiments/{experiment}/runs/" + f"{run_name}/charts?project={self.config.project}" + ) + return run_url + + def cleanup_step_run(self, info: "StepRunInfo", step_failed: bool) -> None: + """Stops the VertexAI run. + + Args: + info: Info about the step that was executed. + step_failed: Whether the step failed or not. + """ + state = ( + execution.Execution.State.FAILED + if step_failed + else execution.Execution.State.COMPLETE + ) + aiplatform.end_run(state=state) diff --git a/src/zenml/integrations/gcp/flavors/__init__.py b/src/zenml/integrations/gcp/flavors/__init__.py index 73bb6259aa5..e70f4937594 100644 --- a/src/zenml/integrations/gcp/flavors/__init__.py +++ b/src/zenml/integrations/gcp/flavors/__init__.py @@ -21,6 +21,10 @@ GCPImageBuilderConfig, GCPImageBuilderFlavor, ) +from zenml.integrations.gcp.flavors.vertex_experiment_tracker_flavor import ( + VertexExperimentTrackerConfig, + VertexExperimentTrackerFlavor, +) from zenml.integrations.gcp.flavors.vertex_orchestrator_flavor import ( VertexOrchestratorConfig, VertexOrchestratorFlavor, @@ -35,6 +39,8 @@ "GCPArtifactStoreConfig", "GCPImageBuilderFlavor", "GCPImageBuilderConfig", + "VertexExperimentTrackerFlavor", + "VertexExperimentTrackerConfig", "VertexOrchestratorFlavor", "VertexOrchestratorConfig", "VertexStepOperatorFlavor", diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py new file mode 100644 index 00000000000..a6b7e3a2d44 --- /dev/null +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -0,0 +1,165 @@ +# Copyright (c) ZenML GmbH 2022. All Rights Reserved. +# +# 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: +# +# https://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. +"""Vertex experiment tracker flavor.""" + +import re +from typing import TYPE_CHECKING, Optional, Type, Union + +from pydantic import field_validator + +from zenml.config.base_settings import BaseSettings +from zenml.experiment_trackers.base_experiment_tracker import ( + BaseExperimentTrackerConfig, + BaseExperimentTrackerFlavor, +) +from zenml.integrations.gcp import GCP_VERTEX_EXPERIMENT_TRACKER_FLAVOR +from zenml.integrations.gcp.google_credentials_mixin import ( + GoogleCredentialsConfigMixin, +) + +if TYPE_CHECKING: + from zenml.integrations.gcp.experiment_trackers import ( + VertexExperimentTracker, + ) + + +class VertexExperimentTrackerSettings(BaseSettings): + """Settings for the VertexAI experiment tracker. + + Attributes: + experiment: The VertexAI experiment name. + experiment_tensorboard: The VertexAI experiment tensorboard. + """ + + experiment: Optional[str] = None + experiment_tensorboard: Optional[Union[str, bool]] = False + + @field_validator("experiment", mode="before") + def _validate_experiment(cls, value: str) -> str: + """Validates the experiment name matches the regex [a-z0-9][a-z0-9-]{0,127}. + + Args: + value: The experiment. + + Returns: + The experiment. + """ + if value and not re.match(r"^[a-z0-9][a-z0-9-]{0,127}$", value): + raise ValueError( + "Experiment name must match regex [a-z0-9][a-z0-9-]{0,127}" + ) + return value + + +class VertexExperimentTrackerConfig( + BaseExperimentTrackerConfig, + GoogleCredentialsConfigMixin, + VertexExperimentTrackerSettings, +): + """Config for the VertexAI experiment tracker. + + Attributes: + location: Optional. The default location to use when making API calls. If not + set defaults to us-central-1. + staging_bucket: Optional. The default staging bucket to use to stage artifacts + when making API calls. In the form gs://... + network: + Optional. The full name of the Compute Engine network to which jobs + and resources should be peered. E.g. "projects/12345/global/networks/myVPC". + Private services access must already be configured for the network. + If specified, all eligible jobs and resources created will be peered + with this VPC. + service_account: + Optional. The service account used to launch jobs and deploy models. + Jobs that use service_account: BatchPredictionJob, CustomJob, + PipelineJob, HyperparameterTuningJob, CustomTrainingJob, + CustomPythonPackageTrainingJob, CustomContainerTrainingJob, + ModelEvaluationJob. + encryption_spec_key_name: + Optional. The Cloud KMS resource identifier of the customer + managed encryption key used to protect a resource. Has the + form: + ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. + The key needs to be in the same region as where the compute + resource is created. + """ + + location: Optional[str] = None + staging_bucket: Optional[str] = None + network: Optional[str] = None + service_account: Optional[str] = None + encryption_spec_key_name: Optional[str] = None + + +class VertexExperimentTrackerFlavor(BaseExperimentTrackerFlavor): + """Flavor for the VertexAI experiment tracker.""" + + @property + def name(self) -> str: + """Name of the flavor. + + Returns: + The name of the flavor. + """ + return GCP_VERTEX_EXPERIMENT_TRACKER_FLAVOR + + @property + def docs_url(self) -> Optional[str]: + """A URL to point at docs explaining this flavor. + + Returns: + A flavor docs url. + """ + return self.generate_default_docs_url() + + @property + def sdk_docs_url(self) -> Optional[str]: + """A URL to point at SDK docs explaining this flavor. + + Returns: + A flavor SDK docs url. + """ + return self.generate_default_sdk_docs_url() + + @property + def logo_url(self) -> str: + """A URL to represent the flavor in the dashboard. + + Returns: + The flavor logo. + """ + # TODO: replace with a proper logo + return "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/vertexai.png" + + @property + def config_class(self) -> Type[VertexExperimentTrackerConfig]: + """Returns `VertexExperimentTrackerConfig` config class. + + Returns: + The config class. + """ + return VertexExperimentTrackerConfig + + @property + def implementation_class(self) -> Type["VertexExperimentTracker"]: + """Implementation class for this flavor. + + Returns: + The implementation class. + """ + from zenml.integrations.gcp.experiment_trackers import ( + VertexExperimentTracker, + ) + + return VertexExperimentTracker From 945c8c66a9d41f24eb08c38cbc1d1f488e02c4fd Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Tue, 10 Dec 2024 23:31:27 +0100 Subject: [PATCH 02/26] add tests for vertexai experiment tracker --- .../gcp/experiment_trackers/__init__.py | 16 +++++ .../test_vertex_experiment_tracker.py | 69 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 tests/integration/integrations/gcp/experiment_trackers/__init__.py create mode 100644 tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py diff --git a/tests/integration/integrations/gcp/experiment_trackers/__init__.py b/tests/integration/integrations/gcp/experiment_trackers/__init__.py new file mode 100644 index 00000000000..9542a8dd283 --- /dev/null +++ b/tests/integration/integrations/gcp/experiment_trackers/__init__.py @@ -0,0 +1,16 @@ +# 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. +"""Initialization of the VertexAI experiment tracker.""" + +from zenml.integrations.gcp.experiment_trackers.vertex_experiment_tracker import ( # noqa + VertexExperimentTracker, +) diff --git a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py new file mode 100644 index 00000000000..56277713e43 --- /dev/null +++ b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py @@ -0,0 +1,69 @@ +# Copyright (c) ZenML GmbH 2022. All Rights Reserved. +# +# 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: +# +# https://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 contextlib import ExitStack as does_not_raise +from datetime import datetime +from uuid import uuid4 + +import pytest + +from zenml.enums import StackComponentType +from zenml.integrations.gcp.experiment_trackers.vertex_experiment_tracker import ( + VertexExperimentTracker, +) +from zenml.integrations.gcp.flavors.vertex_experiment_tracker_flavor import ( + VertexExperimentTrackerConfig, +) +from zenml.stack import Stack + + +@pytest.fixture(scope="session") +def vertex_experiment_tracker() -> VertexExperimentTracker: + yield VertexExperimentTracker( + name="", + id=uuid4(), + config=VertexExperimentTrackerConfig(), + flavor="vertex", + type=StackComponentType.EXPERIMENT_TRACKER, + user=uuid4(), + workspace=uuid4(), + created=datetime.now(), + updated=datetime.now(), + ) + + +def test_vertex_experiment_tracker_stack_validation( + vertex_experiment_tracker, + local_orchestrator, + local_artifact_store, +) -> None: + """Tests that a stack with neptune experiment tracker is valid.""" + with does_not_raise(): + Stack( + name="", + id=uuid4(), + orchestrator=local_orchestrator, + artifact_store=local_artifact_store, + experiment_tracker=vertex_experiment_tracker, + ).validate() + + +def test_vertex_experiment_tracker_attributes( + vertex_experiment_tracker, +) -> None: + """Tests that the basic attributes of the neptune experiment tracker are set correctly.""" + assert ( + vertex_experiment_tracker.type == StackComponentType.EXPERIMENT_TRACKER + ) + assert vertex_experiment_tracker.flavor == "vertex" From 71e3d50cd2eb0820efee1c675510c0e4d302c3b5 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Wed, 11 Dec 2024 20:21:50 +0100 Subject: [PATCH 03/26] add optional configuration parameters --- .../vertex_experiment_tracker.py | 4 ++++ .../flavors/vertex_experiment_tracker_flavor.py | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index 697ebd36e61..95b119d29ac 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -148,6 +148,10 @@ def _initialize_vertex(self, info: "StepRunInfo") -> None: credentials=credentials, encryption_spec_key_name=self.config.encryption_spec_key_name, network=self.config.network, + api_endpoint=self.config.api_endpoint, + api_key=self.config.api_key, + api_transport=self.config.api_transport, + request_metadata=self.config.request_metadata, ) try: diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index a6b7e3a2d44..fc095a93281 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -93,13 +93,28 @@ class VertexExperimentTrackerConfig( ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. The key needs to be in the same region as where the compute resource is created. + api_endpoint (str): + Optional. The desired API endpoint, + e.g., us-central1-aiplatform.googleapis.com + api_key (str): + Optional. The API key to use for service calls. + NOTE: Not all services support API keys. + api_transport (str): + Optional. The transport method which is either 'grpc' or 'rest'. + NOTE: "rest" transport functionality is currently in a + beta state (preview). + request_metadata: + Optional. Additional gRPC metadata to send with every client request. """ - location: Optional[str] = None staging_bucket: Optional[str] = None network: Optional[str] = None service_account: Optional[str] = None encryption_spec_key_name: Optional[str] = None + api_endpoint: Optional[str] = None + api_key: Optional[str] = None + api_transport: Optional[str] = None + request_metadata: Optional[dict] = None class VertexExperimentTrackerFlavor(BaseExperimentTrackerFlavor): From 9e6b2737f184d3818108ff2956ffea4dab66ef6e Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Wed, 11 Dec 2024 20:23:04 +0100 Subject: [PATCH 04/26] update type hint for tensorboard resource name method --- .../vertex_experiment_tracker.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index 95b119d29ac..205a68ce2b3 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -14,7 +14,7 @@ """Implementation of the VertexAI experiment tracker for ZenML.""" import re -from typing import TYPE_CHECKING, Dict, Type, cast +from typing import TYPE_CHECKING, Dict, Optional, Type, cast from google.api_core import exceptions from google.cloud import aiplatform @@ -116,12 +116,15 @@ def _get_run_name(self, info: "StepRunInfo") -> str: """ return self._format_name(info.run_name) - def _get_tensorboard_resource_name(self, experiment: str) -> str | None: + def _get_tensorboard_resource_name(self, experiment: str) -> Optional[str]: resource = aiplatform.Experiment( experiment ).get_backing_tensorboard_resource() - if resource is not None: - return resource.resource_name + resource_name = ( + str(resource.resource_name) if resource is not None + else None + ) + return resource_name def _initialize_vertex(self, info: "StepRunInfo") -> None: """Initializes a VertexAI run. @@ -136,7 +139,8 @@ def _initialize_vertex(self, info: "StepRunInfo") -> None: run_name = self._get_run_name(info=info) credentials, project = self._get_authentication() logger.info( - f"Initializing VertexAI with experiment name {experiment} and run name {run_name}." + f"Initializing VertexAI with experiment name {experiment} " + f"and run name {run_name}." ) aiplatform.init( From 7f0b381107320f5d607772d66e101238f921b746 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Wed, 11 Dec 2024 20:23:31 +0100 Subject: [PATCH 05/26] update default value of experiment_tensorboard to None --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index fc095a93281..8aa28ef3e34 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -43,7 +43,7 @@ class VertexExperimentTrackerSettings(BaseSettings): """ experiment: Optional[str] = None - experiment_tensorboard: Optional[Union[str, bool]] = False + experiment_tensorboard: Optional[Union[str, bool]] = None @field_validator("experiment", mode="before") def _validate_experiment(cls, value: str) -> str: From 18a4613dfd10a5de97464611cc14128eaec87c32 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:08:11 +0100 Subject: [PATCH 06/26] add validation for GCP location in VertexExperimentTrackerConfig --- .../flavors/vertex_experiment_tracker_flavor.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 8aa28ef3e34..5517c540681 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -16,6 +16,7 @@ import re from typing import TYPE_CHECKING, Optional, Type, Union +from google.cloud.aiplatform import utils from pydantic import field_validator from zenml.config.base_settings import BaseSettings @@ -116,6 +117,19 @@ class VertexExperimentTrackerConfig( api_transport: Optional[str] = None request_metadata: Optional[dict] = None + @field_validator("location", mode="before") + def _validate_experiment(cls, value: str) -> str: + """Validates if provided location is valid. + + Args: + value: The gcp location name. + + Returns: + The location name. + """ + utils.validate_region(value) + return value + class VertexExperimentTrackerFlavor(BaseExperimentTrackerFlavor): """Flavor for the VertexAI experiment tracker.""" From 50214aabf1a29c1000ad8f1274aefb00c2cf54a7 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:12:39 +0100 Subject: [PATCH 07/26] change experiment run_url with dashboard_url --- .../vertex_experiment_tracker.py | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index 205a68ce2b3..c98e851af57 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -81,10 +81,13 @@ def get_step_run_metadata( Returns: A dictionary of metadata. """ + experiment_name = self._get_experiment_name(info=info) run_name = self._get_run_name(info=info) - run_url = self._get_run_url(info=info) + tensorboard_resource_name = self._get_tensorboard_resource_name(experiment=experiment_name) + dashboard_url = self._get_dashboard_url(experiment=experiment_name) return { - METADATA_EXPERIMENT_TRACKER_URL: Uri(run_url), + METADATA_EXPERIMENT_TRACKER_URL: Uri(dashboard_url), + "tensorboard_resource_name": tensorboard_resource_name or "", "vertex_run_name": run_name, } @@ -116,9 +119,23 @@ def _get_run_name(self, info: "StepRunInfo") -> str: """ return self._format_name(info.run_name) + def _get_dashboard_url(self, experiment: str) -> str: + """Gets the run URL. + + Args: + experiment: The name of the experiment. + + Returns: + The run URL. + """ + resource = aiplatform.Experiment( + experiment_name=experiment + ) + return resource.dashboard_url + def _get_tensorboard_resource_name(self, experiment: str) -> Optional[str]: resource = aiplatform.Experiment( - experiment + experiment_name=experiment ).get_backing_tensorboard_resource() resource_name = ( str(resource.resource_name) if resource is not None @@ -171,30 +188,11 @@ def _initialize_vertex(self, info: "StepRunInfo") -> None: resume=False, ) + logger.info(f"VertexAI experiment dashboard: {self._get_dashboard_url(experiment=experiment)}") logger.info( f"Tensorboard resource name: {self._get_tensorboard_resource_name(experiment=experiment)}" ) - def _get_run_url(self, info: "StepRunInfo") -> str: - """Gets the run URL. - - Args: - info: Info about the step that will be executed. - - Returns: - The run URL. - """ - settings = cast( - VertexExperimentTrackerSettings, self.get_settings(info) - ) - experiment = settings.experiment or info.pipeline.name - run_name = self._get_run_name(info=info) - run_url = ( - f"https://console.cloud.google.com/vertex-ai/experiments/locations/" - f"{self.config.location}/experiments/{experiment}/runs/" - f"{run_name}/charts?project={self.config.project}" - ) - return run_url def cleanup_step_run(self, info: "StepRunInfo", step_failed: bool) -> None: """Stops the VertexAI run. From 482f36e61b7900ee5dfc9757323bd2e7f1e4211b Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:15:43 +0100 Subject: [PATCH 08/26] add tests for formatting and validation of experiment and run names in VertexExperimentTracker --- .../test_vertex_experiment_tracker.py | 63 ++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py index 56277713e43..d83b80e6c0c 100644 --- a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py +++ b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py @@ -12,11 +12,13 @@ # or implied. See the License for the specific language governing # permissions and limitations under the License. +import re from contextlib import ExitStack as does_not_raise from datetime import datetime from uuid import uuid4 import pytest +from mock import MagicMock from zenml.enums import StackComponentType from zenml.integrations.gcp.experiment_trackers.vertex_experiment_tracker import ( @@ -30,7 +32,8 @@ @pytest.fixture(scope="session") def vertex_experiment_tracker() -> VertexExperimentTracker: - yield VertexExperimentTracker( + """Returns a Vertex experiment tracker.""" + return VertexExperimentTracker( name="", id=uuid4(), config=VertexExperimentTrackerConfig(), @@ -67,3 +70,61 @@ def test_vertex_experiment_tracker_attributes( vertex_experiment_tracker.type == StackComponentType.EXPERIMENT_TRACKER ) assert vertex_experiment_tracker.flavor == "vertex" + +def is_valid_experiment_name(name: str) -> bool: + """Check if the experiment name matches the required regex.""" + EXPERIMENT_NAME_REGEX = re.compile(r"^[a-z0-9][a-z0-9-]{0,127}$") + return bool(EXPERIMENT_NAME_REGEX.match(name)) + + +@pytest.mark.parametrize("input_name,expected_output", [ + ("My Experiment Name", "my-experiment-name"), + ("My_Experiment_Name", "my-experiment-name"), + ("MyExperimentName123", "myexperimentname123"), + ("Name-With-Dashes---", "name-with-dashes"), + ("Invalid!Name", "invalid-name"), + (" Whitespace Name ", "whitespace-name"), + ("UPPERCASE", "uppercase"), + ("a" * 140, "a" * 128), # Truncated to 128 chars + ("special&%_characters", "special---characters"), +]) +def test_format_name(vertex_experiment_tracker, input_name, expected_output): + """Test the name formatting function.""" + formatted_name = vertex_experiment_tracker._format_name(input_name) + assert formatted_name == expected_output, f"Failed for input: '{input_name}'" + assert is_valid_experiment_name(formatted_name), f"Formatted name '{formatted_name}' does not match the regex" + + +@pytest.mark.parametrize("input_name,expected_output", [ + ("My Experiment", "my-experiment"), + ("Another Experiment", "another-experiment"), + (None, "default-experiment"), + ("", "default-experiment"), +]) +def test_get_experiment_name(vertex_experiment_tracker, input_name, expected_output): + """Test the experiment name generation function.""" + mock_settings = MagicMock() + mock_settings.experiment = input_name + vertex_experiment_tracker.get_settings = MagicMock(return_value=mock_settings) + + info = MagicMock() + info.pipeline.name = "default-experiment" + + experiment_name = vertex_experiment_tracker._get_experiment_name(info) + assert experiment_name == expected_output, f"Failed for input: '{input_name}'" + assert is_valid_experiment_name(experiment_name), f"Generated experiment name '{experiment_name}' does not match the regex" + + +@pytest.mark.parametrize("input_name,expected_output", [ + ("Run-001", "run-001"), + ("AnotherRun", "anotherrun"), + ("run_with_special_chars!@#", "run-with-special-chars"), +]) +def test_get_run_name(vertex_experiment_tracker, input_name, expected_output): + """Test the run name generation function.""" + info = MagicMock() + info.run_name = input_name + + run_name = vertex_experiment_tracker._get_run_name(info) + assert run_name == expected_output, f"Failed for input: '{input_name}'" + assert is_valid_experiment_name(run_name), f"Generated run name '{run_name}' does not match the regex" From c75e73f473bc59317110c8ba35b1c8d43d649bf4 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:30:06 +0100 Subject: [PATCH 09/26] update VertexExperimentTrackerConfig to use SecretField for sensitive attributes --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 5517c540681..376410e4382 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -14,7 +14,7 @@ """Vertex experiment tracker flavor.""" import re -from typing import TYPE_CHECKING, Optional, Type, Union +from typing import TYPE_CHECKING, Any, Dict, Optional, Type, Union from google.cloud.aiplatform import utils from pydantic import field_validator @@ -28,6 +28,7 @@ from zenml.integrations.gcp.google_credentials_mixin import ( GoogleCredentialsConfigMixin, ) +from zenml.utils.secret_utils import SecretField if TYPE_CHECKING: from zenml.integrations.gcp.experiment_trackers import ( @@ -110,10 +111,10 @@ class VertexExperimentTrackerConfig( location: Optional[str] = None staging_bucket: Optional[str] = None network: Optional[str] = None - service_account: Optional[str] = None - encryption_spec_key_name: Optional[str] = None - api_endpoint: Optional[str] = None - api_key: Optional[str] = None + service_account: Optional[str] = SecretField(default=None) + encryption_spec_key_name: Optional[str] = SecretField(default=None) + api_endpoint: Optional[str] = SecretField(default=None) + request_metadata: Optional[Dict[str, Any]] = None api_transport: Optional[str] = None request_metadata: Optional[dict] = None From 2422fa77c206134446ca929a6e10e7e250cbe50e Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:33:10 +0100 Subject: [PATCH 10/26] add service connector requirements to VertexExperimentTrackerFlavor --- .../vertex_experiment_tracker_flavor.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 376410e4382..740ef305d42 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -24,10 +24,14 @@ BaseExperimentTrackerConfig, BaseExperimentTrackerFlavor, ) -from zenml.integrations.gcp import GCP_VERTEX_EXPERIMENT_TRACKER_FLAVOR +from zenml.integrations.gcp import ( + GCP_RESOURCE_TYPE, + GCP_VERTEX_EXPERIMENT_TRACKER_FLAVOR, +) from zenml.integrations.gcp.google_credentials_mixin import ( GoogleCredentialsConfigMixin, ) +from zenml.models import ServiceConnectorRequirements from zenml.utils.secret_utils import SecretField if TYPE_CHECKING: @@ -193,3 +197,20 @@ def implementation_class(self) -> Type["VertexExperimentTracker"]: ) return VertexExperimentTracker + + @property + def service_connector_requirements( + self, + ) -> Optional[ServiceConnectorRequirements]: + """Service connector resource requirements for service connectors. + + Specifies resource requirements that are used to filter the available + service connector types that are compatible with this flavor. + + Returns: + Requirements for compatible service connectors, if a service + connector is required for this flavor. + """ + return ServiceConnectorRequirements( + resource_type=GCP_RESOURCE_TYPE, + ) \ No newline at end of file From a8e3d84213ba8232051d2f47a302c6aeeeb572cc Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 12 Dec 2024 10:34:24 +0100 Subject: [PATCH 11/26] fix: add missing newline at end of file in VertexExperimentTrackerFlavor --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 740ef305d42..a25f37258d7 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -213,4 +213,4 @@ def service_connector_requirements( """ return ServiceConnectorRequirements( resource_type=GCP_RESOURCE_TYPE, - ) \ No newline at end of file + ) From 8101977b6bec38681a75225e9beea8d539a21f7f Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Fri, 13 Dec 2024 10:15:12 +0100 Subject: [PATCH 12/26] update logo URL in VertexExperimentTrackerFlavor --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index a25f37258d7..41d687835fc 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -173,8 +173,7 @@ def logo_url(self) -> str: Returns: The flavor logo. """ - # TODO: replace with a proper logo - return "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/vertexai.png" + return "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/experiment_tracker/vertexai.png" @property def config_class(self) -> Type[VertexExperimentTrackerConfig]: From e3928aec94dae3a5b2807d587cda04a3a438777f Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Sun, 15 Dec 2024 18:31:40 +0100 Subject: [PATCH 13/26] refactor: update default location format and remove service_account attribute from VertexExperimentTrackerConfig --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 41d687835fc..3acf0aeffa5 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -77,7 +77,7 @@ class VertexExperimentTrackerConfig( Attributes: location: Optional. The default location to use when making API calls. If not - set defaults to us-central-1. + set defaults to us-central1. staging_bucket: Optional. The default staging bucket to use to stage artifacts when making API calls. In the form gs://... network: @@ -86,12 +86,6 @@ class VertexExperimentTrackerConfig( Private services access must already be configured for the network. If specified, all eligible jobs and resources created will be peered with this VPC. - service_account: - Optional. The service account used to launch jobs and deploy models. - Jobs that use service_account: BatchPredictionJob, CustomJob, - PipelineJob, HyperparameterTuningJob, CustomTrainingJob, - CustomPythonPackageTrainingJob, CustomContainerTrainingJob, - ModelEvaluationJob. encryption_spec_key_name: Optional. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the @@ -115,12 +109,12 @@ class VertexExperimentTrackerConfig( location: Optional[str] = None staging_bucket: Optional[str] = None network: Optional[str] = None - service_account: Optional[str] = SecretField(default=None) encryption_spec_key_name: Optional[str] = SecretField(default=None) api_endpoint: Optional[str] = SecretField(default=None) + api_key: Optional[str] = SecretField(default=None) + api_transport: Optional[str] = None request_metadata: Optional[Dict[str, Any]] = None api_transport: Optional[str] = None - request_metadata: Optional[dict] = None @field_validator("location", mode="before") def _validate_experiment(cls, value: str) -> str: From e8c0117b99c6cfcddf935dd9da1374b075048f22 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Sun, 15 Dec 2024 18:31:53 +0100 Subject: [PATCH 14/26] docs: add documentation for Vertex AI Experiment Tracker integration --- .../experiment-trackers/vertexai.md | 229 ++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 docs/book/component-guide/experiment-trackers/vertexai.md diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md new file mode 100644 index 00000000000..f3c20f745b7 --- /dev/null +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -0,0 +1,229 @@ +--- +description: Logging and visualizing experiments with Vertex AI Experiment Tracker. +--- + +# Vertex AI Experiment Tracker + +The Vertex AI Experiment Tracker is an [Experiment Tracker](./experiment-trackers.md) flavor provided with the Vertex AI ZenML integration. It uses the [Vertex AI tracking service](https://cloud.google.com/vertex-ai/docs/experiments/intro-vertex-ai-experiments) to log and visualize information from your pipeline steps (e.g., models, parameters, metrics). + +## When would you want to use it? + +[Vertex AI Experiment Tracker](https://cloud.google.com/vertex-ai/docs/experiments/intro-vertex-ai-experiments) is a managed service by Google Cloud that you would normally use in the iterative ML experimentation phase to track and visualize experiment results. That doesn't mean that it cannot be repurposed to track and visualize the results produced by your automated pipeline runs, as you make the transition toward a more production-oriented workflow. + +You should use the Vertex AI Experiment Tracker: + +* if you have already been using Vertex AI to track experiment results for your project and would like to continue doing so as you are incorporating MLOps workflows and best practices in your project through ZenML. +* if you are looking for a more visually interactive way of navigating the results produced from your ZenML pipeline runs (e.g. models, metrics, datasets) +* if you are building machine learning workflows in the Google Cloud ecosystem and want a managed experiment tracking solution tightly integrated with other Google Cloud services, Vertex AI is a great choice + +You should consider one of the other [Experiment Tracker flavors](./experiment-trackers.md#experiment-tracker-flavors) if you have never worked with Vertex AI before and would rather use another experiment tracking tool that you are more familiar with, or if you are not using GCP or using other cloud providers. + +## How do you configure it? + +The Vertex AI Experiment Tracker flavor is provided by the GCP ZenML integration, you need to install it on your local machine to be able to register a Vertex AI Experiment Tracker and add it to your stack: + +```shell +zenml integration install gcp -y +``` + +### Configuration Options + +To properly register the Vertex AI Experiment Tracker, you can provide several configuration options tailored to your needs. Here are the main configurations you may want to set: + +* `project`: Optional. GCP project name. If `None` it will be inferred from the environment. +* `location`: Optional. GCP location where your experiments will be created. If not set defaults to us-central1. +* `staging_bucket`: Optional. The default staging bucket to use to stage artifacts and TesorBoard logs. In the form gs://... +* `service_account_path`: Optional. A path to the service account credential json file to be used to interact with Vertex AI Experiment Tracker. Please check the [Authentication Methods](vertexai.md#authentication-methods) chapter for more details. + +With the project, location and staging_bucket, registering the Vertex AI Experiment Tracker can be done as follows: + +```shell +# Register the Vertex AI Experiment Tracker +zenml experiment-tracker register vertex_experiment_tracker \ + --flavor=vertex \ + --project= \ + --location= \ + --staging_bucket=gs:// + +# Register and set a stack with the new experiment tracker +zenml stack register custom_stack -e vertex_experiment_tracker ... --set +``` + +### Authentication Methods + +Integrating and using a Vertex AI Experiment Tracker in your pipelines is not possible without employing some form of authentication. If you're looking for a quick way to get started locally, you can use the _Implicit Authentication_ method. However, the recommended way to authenticate to the Google Cloud Platform is through a [GCP Service Connector](../../how-to/infrastructure-deployment/auth-management/gcp-service-connector.md). This is particularly useful if you are configuring ZenML stacks that combine the Vertex AI Experiment Tracker with other remote stack components also running in GCP. + +> **Note**: Regardless of your chosen authentication method, you must grant your account the necessary roles to use Vertex AI Experiment Tracking. +> * `roles/aiplatform.user` role on your project, which allows you to create, manage, and track your experiments within Vertex AI. +> * `roles/storage.objectAdmin` role on your GCS bucket, granting the ability to read and write experiment artifacts, such as models and datasets, to the storage bucket. + +{% tabs %} +{% tab title="Implicit Authentication" %} +This configuration method assumes that you have authenticated locally to GCP using the [`gcloud` CLI](https://cloud.google.com/sdk/gcloud) (e.g., by running gcloud auth login). + +> **Note**: This method is quick for local setups but is unsuitable for team collaborations or production environments due to its lack of portability. + +We can then register the orchestrator as follows: + +```shell +# Register the Vertex AI Experiment Tracker +zenml experiment-tracker register \ + --flavor=vertex \ + --project= \ + --location= \ + --staging_bucket=gs:// + +# Register and set a stack with the new experiment tracker +zenml stack register custom_stack -e vertex_experiment_tracker ... --set +``` + +{% endtab %} + +{% tab title="GCP Service Connector (recommended)" %} +To set up the Vertex AI Experiment Tracker to authenticate to GCP, it is recommended to leverage the many features provided by the [GCP Service Connector](../../how-to/infrastructure-deployment/auth-management/gcp-service-connector.md) such as auto-configuration, best security practices regarding long-lived credentials and reusing the same credentials across multiple stack components. + +If you don't already have a GCP Service Connector configured in your ZenML deployment, you can register one using the interactive CLI command. You have the option to configure a GCP Service Connector that can be used to access more than one type of GCP resource: + +```sh +# Register a GCP Service Connector interactively +zenml service-connector register --type gcp -i +``` + +After having set up or decided on a GCP Service Connector to use, you can register the Vertex AI Experiment Tracker as follows: + +```shell +# Register the Vertex AI Experiment Tracker +zenml experiment-tracker register \ + --flavor=vertex \ + --project= \ + --location= \ + --staging_bucket=gs:// + +zenml experiment-tracker connect --connector + +# Register and set a stack with the new experiment tracker +zenml stack register custom_stack -e vertex_experiment_tracker ... --set +``` + +{% endtab %} + +{% tab title="GCP Credentials" %} +When you register the Vertex AI Experiment Tracker, you can [generate a GCP Service Account Key](https://cloud.google.com/docs/authentication/application-default-credentials#attached-sa), store it in a [ZenML Secret](../../getting-started/deploying-zenml/secret-management.md) and then reference it in the Experiment Tracker configuration. + +This method has some advantages over the implicit authentication method: + +* you don't need to install and configure the GCP CLI on your host +* you don't need to care about enabling your other stack components (orchestrators, step operators and model deployers) to have access to the experiment tracker through GCP Service Accounts and Workload Identity +* you can combine the Vertex AI Experiment Tracker with other stack components that are not running in GCP + +For this method, you need to [create a user-managed GCP service account](https://cloud.google.com/iam/docs/service-accounts-create) and then [create a service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating). + +With the service account key downloaded to a local file, you can register a ZenML secret and reference it in the Vertex AI Experiment Tracker configuration as follows: + +```shell +# Register the Vertex AI Experiment Tracker and reference the ZenML secret +zenml experiment-tracker register \ + --flavor=vertex \ + --project= \ + --location= \ + --staging_bucket=gs:// \ + --service_account_path=path/to/service_account_key.json + +# Register and set a stack with the new experiment tracker +zenml experiment-tracker connect --connector + +``` + +{% endtab %} +{% endtabs %} + +## How do you use it? + +To be able to log information from a ZenML pipeline step using the Verte AI Experiment Tracker component in the active stack, you need to enable an experiment tracker using the `@step` decorator. Then use Vertex AI's logging or auto-logging capabilities as you would normally do, e.g.: + +```python +from google.cloud import aiplatform + + +@step(experiment_tracker="") +def tf_trainer( + x_train: np.ndarray, + y_train: np.ndarray, +) -> tf.keras.Model: + """Train a neural net from scratch to recognize MNIST digits return our + model or the learner""" + + # compile model + + aiplatform.autolog() + + # train model + + # log additional information to Vertex AI explicitly if needed + + aiplatform.log_params(...) + aiplatform.log_metrics(...) + aiplatform.log_classification_metrics(...) + aiplatform.log_time_series_metrics(...) + + return model +``` + +{% hint style="info" %} +Instead of hardcoding an experiment tracker name, you can also use the [Client](../../reference/python-client.md) to dynamically use the experiment tracker of your active stack: + +```python +from zenml.client import Client + +experiment_tracker = Client().active_stack.experiment_tracker + +@step(experiment_tracker=experiment_tracker.name) +def tf_trainer(...): + ... +``` + +{% endhint %} + +### Experiment Tracker UI + +You can find the URL of the Vertex AI experiment linked to a specific ZenML run via the metadata of the step in which the experiment tracker was used: + +```python +from zenml.client import Client + +client = Client() +last_run = client.get_pipeline("").last_run +trainer_step = last_run.steps.get("") +tracking_url = trainer_step.run_metadata["experiment_tracker_url"].value +print(tracking_url) +``` + +This will be the URL of the corresponding experiment in Vertex AI Experiment Tracker. + +### Additional configuration + +For additional configuration of the Vertex AI Experiment Tracker, you can pass `VertexExperimentTrackerSettings` to specify an experiment name or choose previously created TensorBoard instance. + +```python +import mlflow +from zenml.integrations.gcp.flavors.vertex_experiment_tracker_flavor import VertexExperimentTrackerSettings + + +vertexai_settings = VertexExperimentTrackerSettings( + experiment="", + experiment_tensorboard="TENSORBOARD_RESOURCE_NAME" +) + +@step( + experiment_tracker="", + settings={"experiment_tracker": vertexai_settings}, +) +def step_one( + data: np.ndarray, +) -> np.ndarray: + ... +``` + +Check out [this docs page](../../how-to/pipeline-development/use-configuration-files/runtime-configuration.md) for more information on how to specify settings. + +
ZenML Scarf
From d574b8224fc9431d273aff6fb4eb3589e0436573 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Mon, 16 Dec 2024 10:48:00 +0100 Subject: [PATCH 15/26] fix incorrect flavor type Co-authored-by: Hamza Tahir --- docs/book/component-guide/experiment-trackers/vertexai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index f3c20f745b7..05f056ef2fb 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -63,7 +63,7 @@ This configuration method assumes that you have authenticated locally to GCP usi > **Note**: This method is quick for local setups but is unsuitable for team collaborations or production environments due to its lack of portability. -We can then register the orchestrator as follows: +We can then register the experiment tracker as follows: ```shell # Register the Vertex AI Experiment Tracker From 08060570f26218323949925248f4bfbfb9529b27 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Mon, 16 Dec 2024 10:48:57 +0100 Subject: [PATCH 16/26] delete an extra line Co-authored-by: Hamza Tahir --- docs/book/component-guide/experiment-trackers/vertexai.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index 05f056ef2fb..0f593be5eb1 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -131,7 +131,6 @@ zenml experiment-tracker register \ # Register and set a stack with the new experiment tracker zenml experiment-tracker connect --connector - ``` {% endtab %} From 4673b364823a284704b4540b8518f8f727a59db9 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 19 Dec 2024 13:07:34 +0100 Subject: [PATCH 17/26] improve code formatting and readability in VertexExperimentTracker and tests --- .../vertex_experiment_tracker.py | 16 ++-- .../vertex_experiment_tracker_flavor.py | 2 +- .../test_vertex_experiment_tracker.py | 90 ++++++++++++------- 3 files changed, 66 insertions(+), 42 deletions(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index c98e851af57..e239fdd9e21 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -83,7 +83,9 @@ def get_step_run_metadata( """ experiment_name = self._get_experiment_name(info=info) run_name = self._get_run_name(info=info) - tensorboard_resource_name = self._get_tensorboard_resource_name(experiment=experiment_name) + tensorboard_resource_name = self._get_tensorboard_resource_name( + experiment=experiment_name + ) dashboard_url = self._get_dashboard_url(experiment=experiment_name) return { METADATA_EXPERIMENT_TRACKER_URL: Uri(dashboard_url), @@ -128,9 +130,7 @@ def _get_dashboard_url(self, experiment: str) -> str: Returns: The run URL. """ - resource = aiplatform.Experiment( - experiment_name=experiment - ) + resource = aiplatform.Experiment(experiment_name=experiment) return resource.dashboard_url def _get_tensorboard_resource_name(self, experiment: str) -> Optional[str]: @@ -138,8 +138,7 @@ def _get_tensorboard_resource_name(self, experiment: str) -> Optional[str]: experiment_name=experiment ).get_backing_tensorboard_resource() resource_name = ( - str(resource.resource_name) if resource is not None - else None + str(resource.resource_name) if resource is not None else None ) return resource_name @@ -188,12 +187,13 @@ def _initialize_vertex(self, info: "StepRunInfo") -> None: resume=False, ) - logger.info(f"VertexAI experiment dashboard: {self._get_dashboard_url(experiment=experiment)}") + logger.info( + f"VertexAI experiment dashboard: {self._get_dashboard_url(experiment=experiment)}" + ) logger.info( f"Tensorboard resource name: {self._get_tensorboard_resource_name(experiment=experiment)}" ) - def cleanup_step_run(self, info: "StepRunInfo", step_failed: bool) -> None: """Stops the VertexAI run. diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 3acf0aeffa5..74f868b6756 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -106,6 +106,7 @@ class VertexExperimentTrackerConfig( request_metadata: Optional. Additional gRPC metadata to send with every client request. """ + location: Optional[str] = None staging_bucket: Optional[str] = None network: Optional[str] = None @@ -114,7 +115,6 @@ class VertexExperimentTrackerConfig( api_key: Optional[str] = SecretField(default=None) api_transport: Optional[str] = None request_metadata: Optional[Dict[str, Any]] = None - api_transport: Optional[str] = None @field_validator("location", mode="before") def _validate_experiment(cls, value: str) -> str: diff --git a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py index d83b80e6c0c..46c6a39371f 100644 --- a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py +++ b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py @@ -71,55 +71,77 @@ def test_vertex_experiment_tracker_attributes( ) assert vertex_experiment_tracker.flavor == "vertex" + def is_valid_experiment_name(name: str) -> bool: """Check if the experiment name matches the required regex.""" EXPERIMENT_NAME_REGEX = re.compile(r"^[a-z0-9][a-z0-9-]{0,127}$") return bool(EXPERIMENT_NAME_REGEX.match(name)) -@pytest.mark.parametrize("input_name,expected_output", [ - ("My Experiment Name", "my-experiment-name"), - ("My_Experiment_Name", "my-experiment-name"), - ("MyExperimentName123", "myexperimentname123"), - ("Name-With-Dashes---", "name-with-dashes"), - ("Invalid!Name", "invalid-name"), - (" Whitespace Name ", "whitespace-name"), - ("UPPERCASE", "uppercase"), - ("a" * 140, "a" * 128), # Truncated to 128 chars - ("special&%_characters", "special---characters"), -]) +@pytest.mark.parametrize( + "input_name,expected_output", + [ + ("My Experiment Name", "my-experiment-name"), + ("My_Experiment_Name", "my-experiment-name"), + ("MyExperimentName123", "myexperimentname123"), + ("Name-With-Dashes---", "name-with-dashes"), + ("Invalid!Name", "invalid-name"), + (" Whitespace Name ", "whitespace-name"), + ("UPPERCASE", "uppercase"), + ("a" * 140, "a" * 128), # Truncated to 128 chars + ("special&%_characters", "special---characters"), + ], +) def test_format_name(vertex_experiment_tracker, input_name, expected_output): """Test the name formatting function.""" formatted_name = vertex_experiment_tracker._format_name(input_name) - assert formatted_name == expected_output, f"Failed for input: '{input_name}'" - assert is_valid_experiment_name(formatted_name), f"Formatted name '{formatted_name}' does not match the regex" - - -@pytest.mark.parametrize("input_name,expected_output", [ - ("My Experiment", "my-experiment"), - ("Another Experiment", "another-experiment"), - (None, "default-experiment"), - ("", "default-experiment"), -]) -def test_get_experiment_name(vertex_experiment_tracker, input_name, expected_output): + assert ( + formatted_name == expected_output + ), f"Failed for input: '{input_name}'" + assert is_valid_experiment_name( + formatted_name + ), f"Formatted name '{formatted_name}' does not match the regex" + + +@pytest.mark.parametrize( + "input_name,expected_output", + [ + ("My Experiment", "my-experiment"), + ("Another Experiment", "another-experiment"), + (None, "default-experiment"), + ("", "default-experiment"), + ], +) +def test_get_experiment_name( + vertex_experiment_tracker, input_name, expected_output +): """Test the experiment name generation function.""" mock_settings = MagicMock() mock_settings.experiment = input_name - vertex_experiment_tracker.get_settings = MagicMock(return_value=mock_settings) + vertex_experiment_tracker.get_settings = MagicMock( + return_value=mock_settings + ) info = MagicMock() info.pipeline.name = "default-experiment" experiment_name = vertex_experiment_tracker._get_experiment_name(info) - assert experiment_name == expected_output, f"Failed for input: '{input_name}'" - assert is_valid_experiment_name(experiment_name), f"Generated experiment name '{experiment_name}' does not match the regex" - - -@pytest.mark.parametrize("input_name,expected_output", [ - ("Run-001", "run-001"), - ("AnotherRun", "anotherrun"), - ("run_with_special_chars!@#", "run-with-special-chars"), -]) + assert ( + experiment_name == expected_output + ), f"Failed for input: '{input_name}'" + assert is_valid_experiment_name( + experiment_name + ), f"Generated experiment name '{experiment_name}' does not match the regex" + + +@pytest.mark.parametrize( + "input_name,expected_output", + [ + ("Run-001", "run-001"), + ("AnotherRun", "anotherrun"), + ("run_with_special_chars!@#", "run-with-special-chars"), + ], +) def test_get_run_name(vertex_experiment_tracker, input_name, expected_output): """Test the run name generation function.""" info = MagicMock() @@ -127,4 +149,6 @@ def test_get_run_name(vertex_experiment_tracker, input_name, expected_output): run_name = vertex_experiment_tracker._get_run_name(info) assert run_name == expected_output, f"Failed for input: '{input_name}'" - assert is_valid_experiment_name(run_name), f"Generated run name '{run_name}' does not match the regex" + assert is_valid_experiment_name( + run_name + ), f"Generated run name '{run_name}' does not match the regex" From dd03e92f3fe87f0c348e8156724503eea8fbbb57 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 19 Dec 2024 13:08:03 +0100 Subject: [PATCH 18/26] docs: enhance Vertex AI Experiment Tracker documentation with usage examples and UI visuals --- .../assets/vertexai_experiment_tracker_tb.png | Bin 0 -> 310948 bytes .../assets/vertexai_experiment_tracker_ui.png | Bin 0 -> 184346 bytes .../experiment-trackers/vertexai.md | 108 +++++++++++++++--- 3 files changed, 94 insertions(+), 14 deletions(-) create mode 100644 docs/book/.gitbook/assets/vertexai_experiment_tracker_tb.png create mode 100644 docs/book/.gitbook/assets/vertexai_experiment_tracker_ui.png diff --git a/docs/book/.gitbook/assets/vertexai_experiment_tracker_tb.png b/docs/book/.gitbook/assets/vertexai_experiment_tracker_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..7db462df919f8daca7312bf7e6aac7ebe053f444 GIT binary patch literal 310948 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%0A3Q(zd?g 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 z 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%0D%{i(P5x8-a*ZcH6&szp+1EfI5^e?! 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
D7ZSE`X~SH88xdyu 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 literal 0 HcmV?d00001 diff --git a/docs/book/.gitbook/assets/vertexai_experiment_tracker_ui.png b/docs/book/.gitbook/assets/vertexai_experiment_tracker_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0fabed8115ea6550ef1b8cfece046ae63b5f1a GIT binary patch literal 184346 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ʌ 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 jt~%YVPcD2}T*v(VVa4ouocTKN- --connector tf.keras.Model: - """Train a neural net from scratch to recognize MNIST digits return our - model or the learner""" + x_val: np.ndarray, + y_val: np.ndarray, +): + aiplatform.autolog() + + ... + + # Train the model, using the custom callback to log metrics into experiment tracker + model.fit( + x_train, + y_train, + validation_data=(x_test, y_test), + epochs=config.epochs, + batch_size=config.batch_size, + callbacks=[VertexAICallback()] + ) + + ... + + # Log specific metrics and parameters + aiplatform.log_metrics(...) + aiplatform.log_params(...) +``` + +### Example 2: Uploading TensorBoard Logs + +This example demonstrates how to use an integrated TensorBoard instance to directly upload training logs. This is particularly useful if you're already using TensorBoard in your projects and want to benefit from its detailed visualizations during training. You can initiate the upload using `aiplatform.start_upload_tb_log` and conclude it with `aiplatform.end_upload_tb_log`. Similar to the first example, you can also log specific metrics and parameters directly. + +```python +from google.cloud import aiplatform - # compile model +@step(experiment_tracker="") +def train_model( + config: TrainerConfig, + gcs_path: str, + x_train: np.ndarray, + y_train: np.ndarray, + x_val: np.ndarray, + y_val: np.ndarray, +): aiplatform.autolog() - # train model + ... - # log additional information to Vertex AI explicitly if needed + experiment_name = ... + experiment_run_name = ... + + # define a TensorBoard callback, logs are written to gcs_path. + tensorboard_callback = tf.keras.callbacks.TensorBoard( + log_dir=gcs_path, + histogram_freq=1 + ) + # start the TensorBoard log upload + aiplatform.start_upload_tb_log( + tensorboard_experiment_name=experiment_name, + logdir=gcs_path, + run_name_prefix=f"{experiment_run_name}_", + ) + model.fit( + x_train, + y_train, + validation_data=(x_test, y_test), + epochs=config.epochs, + batch_size=config.batch_size, + ) - aiplatform.log_params(...) - aiplatform.log_metrics(...) - aiplatform.log_classification_metrics(...) - aiplatform.log_time_series_metrics(...) + ... - return model + # end the TensorBoard log upload + aiplatform.end_upload_tb_log() + + aiplatform.log_metrics(...) + aiplatform.log_params(...) ``` + {% hint style="info" %} Instead of hardcoding an experiment tracker name, you can also use the [Client](../../reference/python-client.md) to dynamically use the experiment tracker of your active stack: @@ -199,10 +269,20 @@ print(tracking_url) This will be the URL of the corresponding experiment in Vertex AI Experiment Tracker. +Below are examples of the UI for the Vertex AI Experiment Tracker and the integrated TensorBoard instance. + +**Vertex AI Experiment Tracker UI** +![VerteAI UI](../../.gitbook/assets/vertexai_experiment_tracker_ui.png) + +**TensorBoard UI** +![TensorBoard UI](../../.gitbook/assets/vertexai_experiment_tracker_tb.png) + ### Additional configuration For additional configuration of the Vertex AI Experiment Tracker, you can pass `VertexExperimentTrackerSettings` to specify an experiment name or choose previously created TensorBoard instance. +> **Note**: By default, Vertex AI will use the default TensorBoard instance in your project if you don't explicitly specify one. + ```python import mlflow from zenml.integrations.gcp.flavors.vertex_experiment_tracker_flavor import VertexExperimentTrackerSettings From 0190b3120affc460ecf1226bef528538fd96cbfa Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Wed, 25 Dec 2024 14:18:07 +0100 Subject: [PATCH 19/26] set experiment and run names at prepare_step_run --- .../gcp/experiment_trackers/vertex_experiment_tracker.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index e239fdd9e21..08ecfed36c4 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -69,6 +69,8 @@ def prepare_step_run(self, info: "StepRunInfo") -> None: info: Info about the step that will be executed. """ self._initialize_vertex(info=info) + self.experiment_name = self._get_experiment_name(info=info) + self.run_name = self._get_run_name(info=info) def get_step_run_metadata( self, info: "StepRunInfo" From 378fae8f40a95a9c3a00e00df5683390959a34b1 Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Wed, 25 Dec 2024 14:18:41 +0100 Subject: [PATCH 20/26] update Vertex AI Experiment Tracker guide to use dynamic experiment and run names --- .../book/component-guide/experiment-trackers/vertexai.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index 07bf97a95d5..39762b4da6e 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -206,10 +206,12 @@ def train_model( ... - experiment_name = ... - experiment_run_name = ... + # get current experiment and run names + experiment_tracker = Client().active_stack.experiment_tracker + experiment_name = experiment_tracker.experiment_name + experiment_run_name = experiment_tracker.run_name - # define a TensorBoard callback, logs are written to gcs_path. + # define a TensorBoard callback, logs are written to gcs_path tensorboard_callback = tf.keras.callbacks.TensorBoard( log_dir=gcs_path, histogram_freq=1 @@ -237,7 +239,6 @@ def train_model( aiplatform.log_params(...) ``` - {% hint style="info" %} Instead of hardcoding an experiment tracker name, you can also use the [Client](../../reference/python-client.md) to dynamically use the experiment tracker of your active stack: From 624cde5837a50b5749d38fa195d01384748f154e Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 9 Jan 2025 21:16:13 +0100 Subject: [PATCH 21/26] add installation notes for autologging and TensorBoard extensions in Vertex AI Experiment Tracker guide --- .../experiment-trackers/vertexai.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index 39762b4da6e..64491aeeece 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -146,6 +146,11 @@ Here are two examples demonstrating how to use the experiment tracker: This example demonstrates how to log time-series metrics using `aiplatform.log_time_series_metrics` from within a Keras callback, as well as using `aiplatform.log_metrics` to log specific metrics and `aiplatform.log_params` to log experiment parameters. The logged metrics can then be visualised in the UI of Vertex AI Experiment Tracker and integrated TensorBoard instance. +> **Note:** To use the autologging functionality, ensure that the google-cloud-aiplatform library is installed with the Autologging extension. You can do this by running the following command: +> ```bash +> pip install google-cloud-aiplatform[autologging] +> ``` + ```python from google.cloud import aiplatform @@ -189,6 +194,11 @@ def train_model( This example demonstrates how to use an integrated TensorBoard instance to directly upload training logs. This is particularly useful if you're already using TensorBoard in your projects and want to benefit from its detailed visualizations during training. You can initiate the upload using `aiplatform.start_upload_tb_log` and conclude it with `aiplatform.end_upload_tb_log`. Similar to the first example, you can also log specific metrics and parameters directly. +> **Note:** To use TensorBoard logging functionality, ensure you have the `google-cloud-aiplatform` library installed with the TensorBoard extension. You can install it using the following command: +> ```bash +> pip install google-cloud-aiplatform[tensorboard] +> ``` + ```python from google.cloud import aiplatform @@ -202,10 +212,6 @@ def train_model( x_val: np.ndarray, y_val: np.ndarray, ): - aiplatform.autolog() - - ... - # get current experiment and run names experiment_tracker = Client().active_stack.experiment_tracker experiment_name = experiment_tracker.experiment_name From b5ca1deb75e40ab3d0d8ae82a7f3d83880ddd59c Mon Sep 17 00:00:00 2001 From: Nail Khusainov Date: Thu, 9 Jan 2025 21:25:32 +0100 Subject: [PATCH 22/26] improve readability in the vertexai experiment tracker doc Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> --- docs/book/component-guide/experiment-trackers/vertexai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index 64491aeeece..92d5464f2c1 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -144,7 +144,7 @@ Here are two examples demonstrating how to use the experiment tracker: ### Example 1: Logging Metrics Using Built-in Methods -This example demonstrates how to log time-series metrics using `aiplatform.log_time_series_metrics` from within a Keras callback, as well as using `aiplatform.log_metrics` to log specific metrics and `aiplatform.log_params` to log experiment parameters. The logged metrics can then be visualised in the UI of Vertex AI Experiment Tracker and integrated TensorBoard instance. +This example demonstrates how to log time-series metrics using `aiplatform.log_time_series_metrics` from within a Keras callback, and using `aiplatform.log_metrics` to log specific metrics and `aiplatform.log_params` to log experiment parameters. The logged metrics can then be visualised in the UI of Vertex AI Experiment Tracker and integrated TensorBoard instance. > **Note:** To use the autologging functionality, ensure that the google-cloud-aiplatform library is installed with the Autologging extension. You can do this by running the following command: > ```bash From bf00bb5d92b8079685bf40178378274381686dc5 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Mon, 20 Jan 2025 15:45:12 +0100 Subject: [PATCH 23/26] Fix typos, API docs building and formatting --- .../experiment-trackers/vertexai.md | 2 +- docs/mocked_libs.json | 3 ++ .../test_vertex_experiment_tracker.py | 30 +++++++++---------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/book/component-guide/experiment-trackers/vertexai.md b/docs/book/component-guide/experiment-trackers/vertexai.md index 92d5464f2c1..a17d51c8322 100644 --- a/docs/book/component-guide/experiment-trackers/vertexai.md +++ b/docs/book/component-guide/experiment-trackers/vertexai.md @@ -144,7 +144,7 @@ Here are two examples demonstrating how to use the experiment tracker: ### Example 1: Logging Metrics Using Built-in Methods -This example demonstrates how to log time-series metrics using `aiplatform.log_time_series_metrics` from within a Keras callback, and using `aiplatform.log_metrics` to log specific metrics and `aiplatform.log_params` to log experiment parameters. The logged metrics can then be visualised in the UI of Vertex AI Experiment Tracker and integrated TensorBoard instance. +This example demonstrates how to log time-series metrics using `aiplatform.log_time_series_metrics` from within a Keras callback, and using `aiplatform.log_metrics` to log specific metrics and `aiplatform.log_params` to log experiment parameters. The logged metrics can then be visualized in the UI of Vertex AI Experiment Tracker and integrated TensorBoard instance. > **Note:** To use the autologging functionality, ensure that the google-cloud-aiplatform library is installed with the Autologging extension. You can do this by running the following command: > ```bash diff --git a/docs/mocked_libs.json b/docs/mocked_libs.json index 338ccdea82c..aa72411b38a 100644 --- a/docs/mocked_libs.json +++ b/docs/mocked_libs.json @@ -89,6 +89,9 @@ "google.auth.transport", "google.auth.transport.requests", "google.cloud", + "google.cloud.aiplatform", + "google.cloud.aiplatform.compat", + "google.cloud.aiplatform.compat.types", "google.cloud.aiplatform_v1", "google.cloud.aiplatform_v1.types", "google.cloud.aiplatform_v1.types.job_state", diff --git a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py index 46c6a39371f..94f56821c6a 100644 --- a/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py +++ b/tests/integration/integrations/gcp/experiment_trackers/test_vertex_experiment_tracker.py @@ -95,12 +95,12 @@ def is_valid_experiment_name(name: str) -> bool: def test_format_name(vertex_experiment_tracker, input_name, expected_output): """Test the name formatting function.""" formatted_name = vertex_experiment_tracker._format_name(input_name) - assert ( - formatted_name == expected_output - ), f"Failed for input: '{input_name}'" - assert is_valid_experiment_name( - formatted_name - ), f"Formatted name '{formatted_name}' does not match the regex" + assert formatted_name == expected_output, ( + f"Failed for input: '{input_name}'" + ) + assert is_valid_experiment_name(formatted_name), ( + f"Formatted name '{formatted_name}' does not match the regex" + ) @pytest.mark.parametrize( @@ -126,12 +126,12 @@ def test_get_experiment_name( info.pipeline.name = "default-experiment" experiment_name = vertex_experiment_tracker._get_experiment_name(info) - assert ( - experiment_name == expected_output - ), f"Failed for input: '{input_name}'" - assert is_valid_experiment_name( - experiment_name - ), f"Generated experiment name '{experiment_name}' does not match the regex" + assert experiment_name == expected_output, ( + f"Failed for input: '{input_name}'" + ) + assert is_valid_experiment_name(experiment_name), ( + f"Generated experiment name '{experiment_name}' does not match the regex" + ) @pytest.mark.parametrize( @@ -149,6 +149,6 @@ def test_get_run_name(vertex_experiment_tracker, input_name, expected_output): run_name = vertex_experiment_tracker._get_run_name(info) assert run_name == expected_output, f"Failed for input: '{input_name}'" - assert is_valid_experiment_name( - run_name - ), f"Generated run name '{run_name}' does not match the regex" + assert is_valid_experiment_name(run_name), ( + f"Generated run name '{run_name}' does not match the regex" + ) From 65d421760019edefded6b67f13177aefa3afd9f5 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Mon, 20 Jan 2025 15:55:45 +0100 Subject: [PATCH 24/26] Cast return value --- .../gcp/experiment_trackers/vertex_experiment_tracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index 08ecfed36c4..dbef3b4a4ff 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -133,7 +133,7 @@ def _get_dashboard_url(self, experiment: str) -> str: The run URL. """ resource = aiplatform.Experiment(experiment_name=experiment) - return resource.dashboard_url + return cast(str, resource.dashboard_url) def _get_tensorboard_resource_name(self, experiment: str) -> Optional[str]: resource = aiplatform.Experiment( From 6ccc896ca89bc919165532803998f2f0a0587869 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Mon, 20 Jan 2025 16:43:38 +0100 Subject: [PATCH 25/26] More docstrings, remove import from flavor file --- .../vertex_experiment_tracker.py | 5 ++++- .../flavors/vertex_experiment_tracker_flavor.py | 14 -------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py index dbef3b4a4ff..e6bdb2e914d 100644 --- a/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py +++ b/src/zenml/integrations/gcp/experiment_trackers/vertex_experiment_tracker.py @@ -104,7 +104,10 @@ def _get_experiment_name(self, info: "StepRunInfo") -> str: """Gets the experiment name. Args: - info: Info about the + info: Info about the step. + + Returns: + The experiment name. """ settings = cast( VertexExperimentTrackerSettings, self.get_settings(info) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index 74f868b6756..bde33e94745 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -16,7 +16,6 @@ import re from typing import TYPE_CHECKING, Any, Dict, Optional, Type, Union -from google.cloud.aiplatform import utils from pydantic import field_validator from zenml.config.base_settings import BaseSettings @@ -116,19 +115,6 @@ class VertexExperimentTrackerConfig( api_transport: Optional[str] = None request_metadata: Optional[Dict[str, Any]] = None - @field_validator("location", mode="before") - def _validate_experiment(cls, value: str) -> str: - """Validates if provided location is valid. - - Args: - value: The gcp location name. - - Returns: - The location name. - """ - utils.validate_region(value) - return value - class VertexExperimentTrackerFlavor(BaseExperimentTrackerFlavor): """Flavor for the VertexAI experiment tracker.""" From a05ea8fa5a3720218d07bdac644aaa14ccba3c48 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Tue, 21 Jan 2025 09:18:24 +0100 Subject: [PATCH 26/26] Docstring --- .../gcp/flavors/vertex_experiment_tracker_flavor.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py index bde33e94745..49dbf89534f 100644 --- a/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py +++ b/src/zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py @@ -52,11 +52,15 @@ class VertexExperimentTrackerSettings(BaseSettings): @field_validator("experiment", mode="before") def _validate_experiment(cls, value: str) -> str: - """Validates the experiment name matches the regex [a-z0-9][a-z0-9-]{0,127}. + """Validates the experiment name matches the the allowed format. Args: value: The experiment. + Raises: + ValueError: If the experiment name does not match the expected + format. + Returns: The experiment. """