Skip to content

Commit 17af2d8

Browse files
committed
Upgrade Tensorflow version to v2.13.0
Signed-off-by: Yuki Iwai <[email protected]>
1 parent 888bec3 commit 17af2d8

File tree

6 files changed

+35
-18
lines changed

6 files changed

+35
-18
lines changed

cmd/metricscollector/v1beta1/tfevent-metricscollector/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ psutil==5.9.4
22
rfc3339>=6.2
33
grpcio>=1.41.1
44
googleapis-common-protos==1.6.0
5-
tensorflow==2.11.0
5+
tensorflow==2.13.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
grpcio>=1.41.1
22
googleapis-common-protos==1.6.0
33
cython>=0.29.24
4-
tensorflow==2.11.0
4+
tensorflow==2.13.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
scipy>=1.7.2
2-
tensorflow==2.11.0
2+
tensorflow==2.13.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
tensorflow==2.11.0
1+
tensorflow==2.13.0

pkg/metricscollector/v1beta1/tfevent-metricscollector/tfevent_loader.py

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@
2222
# https://github.com/kubeflow/katib/blob/master/examples/v1beta1/kubeflow-training-operator/tfjob-mnist-with-summaries.yaml#L16-L22
2323

2424
import tensorflow as tf
25-
from tensorboard.backend.event_processing.event_accumulator import EventAccumulator
25+
from tensorboard.backend.event_processing.event_accumulator import EventAccumulator, TensorEvent
26+
from tensorboard.backend.event_processing.tag_types import TENSORS
2627
import os
27-
from datetime import datetime
2828
import rfc3339
29+
from datetime import datetime
30+
from dataclasses import is_dataclass
2931
import api_pb2
3032
from logging import getLogger, StreamHandler, INFO
3133
from pkg.metricscollector.v1beta1.common import const
@@ -43,25 +45,40 @@ def find_all_files(directory):
4345

4446
def parse_summary(self, tfefile):
4547
metric_logs = []
46-
event_accumulator = EventAccumulator(tfefile, size_guidance={'tensors': 0})
48+
event_accumulator = EventAccumulator(tfefile, size_guidance={TENSORS: 0})
4749
event_accumulator.Reload()
48-
for tag in event_accumulator.Tags()['tensors']:
50+
for tag in event_accumulator.Tags()[TENSORS]:
4951
for m in self.metric_names:
5052

5153
tfefile_parent_dir = os.path.dirname(m) if len(m.split("/")) >= 2 else os.path.dirname(tfefile)
5254
basedir_name = os.path.dirname(tfefile)
5355
if not tag.startswith(m.split("/")[-1]) or not basedir_name.endswith(tfefile_parent_dir):
5456
continue
5557

56-
for wall_time, step, tensor in event_accumulator.Tensors(tag):
57-
ml = api_pb2.MetricLog(
58-
time_stamp=rfc3339.rfc3339(datetime.fromtimestamp(wall_time)),
59-
metric=api_pb2.Metric(
60-
name=m,
61-
value=str(tf.make_ndarray(tensor))
58+
# Since Tensorboard v2.12.0, the 'TensorEvent' typed is changed from tuple to dataclass.
59+
# REF: https://github.com/tensorflow/tensorboard/commit/1975529d953eff55d279ee036240e4db4cb0d57c
60+
if is_dataclass(TensorEvent):
61+
# Tensorboard >= v2.12.0
62+
for tensors in event_accumulator.Tensors(tag):
63+
ml = api_pb2.MetricLog(
64+
time_stamp=rfc3339.rfc3339(datetime.fromtimestamp(tensors.wall_time)),
65+
metric=api_pb2.Metric(
66+
name=m,
67+
value=str(tensors.tensor_proto)
68+
)
6269
)
63-
)
64-
metric_logs.append(ml)
70+
metric_logs.append(ml)
71+
else:
72+
# Tensorboard < v2.12.0
73+
for wall_time, step, tensor in event_accumulator.Tensors(tag):
74+
ml = api_pb2.MetricLog(
75+
time_stamp=rfc3339.rfc3339(datetime.fromtimestamp(wall_time)),
76+
metric=api_pb2.Metric(
77+
name=m,
78+
value=str(tf.make_ndarray(tensor))
79+
)
80+
)
81+
metric_logs.append(ml)
6582

6683
return metric_logs
6784

sdk/python/v1beta1/kubeflow/katib/constants/constants.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050

5151
# Supported base images for the Katib Trials.
5252
# TODO (andreyvelich): Implement list_base_images function to get each image description.
53-
BASE_IMAGE_TENSORFLOW = "docker.io/tensorflow/tensorflow:2.11.0"
54-
BASE_IMAGE_TENSORFLOW_GPU = "docker.io/tensorflow/tensorflow:2.11.0-gpu"
53+
BASE_IMAGE_TENSORFLOW = "docker.io/tensorflow/tensorflow:2.13.0"
54+
BASE_IMAGE_TENSORFLOW_GPU = "docker.io/tensorflow/tensorflow:2.13.0-gpu"
5555
BASE_IMAGE_PYTORCH = "docker.io/pytorch/pytorch:1.12.1-cuda11.3-cudnn8-runtime"
5656
BASE_IMAGE_MXNET = "docker.io/mxnet/python:1.9.1_native_py3"
5757

0 commit comments

Comments
 (0)