@@ -117,19 +117,36 @@ class SearchSpace(SearchSpace):
117117 @classmethod
118118 def from_proto (cls , proto : study_pb2 .StudySpec ) -> "SearchSpace" :
119119 """Extracts a SearchSpace object from a StudyConfig proto."""
120- parameter_configs = []
120+
121+ # For google-vizier <= 0.0.15
122+ if hasattr (cls , "_factory" ):
123+ parameter_configs = []
124+ for pc in proto .parameters :
125+ parameter_configs .append (
126+ proto_converters .ParameterConfigConverter .from_proto (pc )
127+ )
128+ return cls ._factory (parameter_configs = parameter_configs )
129+
130+ result = cls ()
121131 for pc in proto .parameters :
122- parameter_configs .append (
123- proto_converters .ParameterConfigConverter .from_proto (pc )
124- )
125- return cls ._factory (parameter_configs = parameter_configs )
132+ result .add (proto_converters .ParameterConfigConverter .from_proto (pc ))
133+
134+ return result
126135
127136 @property
128137 def parameter_protos (self ) -> List [study_pb2 .StudySpec .ParameterSpec ]:
129138 """Returns the search space as a List of ParameterConfig protos."""
139+
140+ # For google-vizier <= 0.0.15
141+ if isinstance (self ._parameter_configs , list ):
142+ return [
143+ proto_converters .ParameterConfigConverter .to_proto (pc )
144+ for pc in self ._parameter_configs
145+ ]
146+
130147 return [
131148 proto_converters .ParameterConfigConverter .to_proto (pc )
132- for pc in self ._parameter_configs
149+ for _ , pc in self ._parameter_configs . items ()
133150 ]
134151
135152
0 commit comments