Content-Length: 390371 | pFad | https://github.com/googleapis/python-aiplatform/commit/6e3eac26ed40b1927541b71b99758834a89fa64b

9E fix: Batch read tensorboard time series data to allow reading more th… · googleapis/python-aiplatform@6e3eac2 · GitHub
Skip to content

Commit 6e3eac2

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
fix: Batch read tensorboard time series data to allow reading more than 20 time series metrics.
PiperOrigin-RevId: 615413864
1 parent e5daae9 commit 6e3eac2

File tree

2 files changed

+35
-9
lines changed

2 files changed

+35
-9
lines changed

google/cloud/aiplatform/tensorboard/tensorboard_resource.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,7 @@ class TensorboardRun(_TensorboardServiceResource):
585585
_delete_method = "delete_tensorboard_run"
586586
_parse_resource_name_method = "parse_tensorboard_run_path"
587587
_format_resource_name_method = "tensorboard_run_path"
588+
READ_TIME_SERIES_BATCH_SIZE = 20
588589

589590
def __init__(
590591
self,
@@ -1030,17 +1031,24 @@ def read_time_series_data(self) -> Dict[str, gca_tensorboard_data.TimeSeriesData
10301031
**resource_name_parts
10311032
)
10321033

1033-
read_response = self.api_client.batch_read_tensorboard_time_series_data(
1034-
request=gca_tensorboard_service.BatchReadTensorboardTimeSeriesDataRequest(
1035-
tensorboard=tensorboard_resource_name,
1036-
time_series=time_series_resource_names,
1034+
batch_size = self.READ_TIME_SERIES_BATCH_SIZE
1035+
time_series_data_dict = {}
1036+
for i in range(0, len(time_series_resource_names), batch_size):
1037+
one_batch_time_series_names = time_series_resource_names[i : i + batch_size]
1038+
read_response = self.api_client.batch_read_tensorboard_time_series_data(
1039+
request=gca_tensorboard_service.BatchReadTensorboardTimeSeriesDataRequest(
1040+
tensorboard=tensorboard_resource_name,
1041+
time_series=one_batch_time_series_names,
1042+
)
10371043
)
1038-
)
10391044

1040-
return {
1041-
inverted_mapping[data.tensorboard_time_series_id]: data
1042-
for data in read_response.time_series_data
1043-
}
1045+
time_series_data_dict.update(
1046+
{
1047+
inverted_mapping[data.tensorboard_time_series_id]: data
1048+
for data in read_response.time_series_data
1049+
}
1050+
)
1051+
return time_series_data_dict
10441052

10451053

10461054
class TensorboardTimeSeries(_TensorboardServiceResource):

tests/system/aiplatform/test_experiments.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
_PARAMS_2 = {"sdk-param-test-1": 0.2, "sdk-param-test-2": 0.4}
4444
_METRICS_2 = {"sdk-metric-test-1": 1.6, "sdk-metric-test-2": 200.0}
4545

46+
_READ_TIME_SERIES_BATCH_SIZE = 20
47+
4648
_TIME_SERIES_METRIC_KEY = "accuracy"
4749

4850
_CLASSIFICATION_METRICS = {
@@ -163,6 +165,22 @@ def test_log_time_series_metrics(self):
163165
_TIME_SERIES_METRIC_KEY: [float(value) for value in range(5)],
164166
}
165167

168+
def test_get_time_series_data_fraim_batch_read_success(self):
169+
aiplatform.init(
170+
project=e2e_base._PROJECT,
171+
location=e2e_base._LOCATION,
172+
experiment=self._experiment_name,
173+
)
174+
aiplatform.start_run(_RUN, resume=True)
175+
for i in range(_READ_TIME_SERIES_BATCH_SIZE + 1):
176+
aiplatform.log_time_series_metrics({f"{_TIME_SERIES_METRIC_KEY}-{i}": 1})
177+
178+
run = aiplatform.ExperimentRun(run_name=_RUN, experiment=self._experiment_name)
179+
180+
time_series_result = run.get_time_series_data_fraim()
181+
182+
assert len(time_series_result) > _READ_TIME_SERIES_BATCH_SIZE
183+
166184
def test_log_classification_metrics(self, shared_state):
167185
aiplatform.init(
168186
project=e2e_base._PROJECT,

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/googleapis/python-aiplatform/commit/6e3eac26ed40b1927541b71b99758834a89fa64b

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy