142 {
143 name_ = proto.
name();
145
146 integer_param_map_.clear();
147 string_param_map_.clear();
148 double_param_map_.clear();
149 float_param_map_.clear();
150 bool_param_map_.clear();
151 array_integer_param_map_.clear();
152 array_string_param_map_.clear();
153 array_double_param_map_.clear();
154 array_float_param_map_.clear();
155 array_bool_param_map_.clear();
156
157 for (const KeyValueInt &pair : proto.integer_params()) {
158 integer_param_map_.emplace(pair.name(), pair.value());
159 }
160
161 for (const KeyValueString &pair : proto.string_params()) {
162 string_param_map_.emplace(pair.name(), pair.value());
163 }
164
165 for (const KeyValueDouble &pair : proto.double_params()) {
166 double_param_map_.emplace(pair.name(), pair.value());
167 }
168
169 for (const KeyValueFloat &pair : proto.float_params()) {
170 float_param_map_.emplace(pair.name(), pair.value());
171 }
172
173 for (const KeyValueBool &pair : proto.bool_params()) {
174 bool_param_map_.emplace(pair.name(), pair.value());
175 }
176
177 for (const KeyValueArrayInt &pair : proto.array_integer_params()) {
178 std::vector<int> values;
179 RepeatedToVector(pair.values(), &values);
180 array_integer_param_map_.emplace(pair.name(), values);
181 }
182
183 for (const KeyValueArrayString &pair : proto.array_string_params()) {
184 std::vector<std::string> values;
185 values.reserve(pair.values_size());
186 for (const std::string &value : pair.values()) {
187 values.push_back(value);
188 }
189 array_string_param_map_.emplace(pair.name(), values);
190 }
191
192 for (const KeyValueArrayDouble &pair : proto.array_double_params()) {
193 std::vector<double> values;
194 RepeatedToVector(pair.values(), &values);
195 array_double_param_map_.emplace(pair.name(), values);
196 }
197
198 for (const KeyValueArrayFloat &pair : proto.array_float_params()) {
199 std::vector<float> values;
200 RepeatedToVector(pair.values(), &values);
201 array_float_param_map_.emplace(pair.name(), values);
202 }
203
204 for (const KeyValueArrayBool &pair : proto.array_bool_params()) {
205 std::vector<bool> values;
206 RepeatedToVector(pair.values(), &values);
207 array_bool_param_map_.emplace(pair.name(), values);
208 }
209
210 AINFO <<
"reset ModelConfig. model_name: " << name_
211 << " integer_param_map's size: " << integer_param_map_.size()
212 << " string_param_map's size: " << string_param_map_.size()
213 << " double_param_map's size: " << double_param_map_.size()
214 << " float_param_map's size: " << float_param_map_.size()
215 << " bool_param_map's size: " << bool_param_map_.size()
216 << " array_integer_param_map's size: "
217 << array_integer_param_map_.size()
218 << " array_string_param_map's size: " << array_string_param_map_.size()
219 << " array_double_param_map's size: " << array_double_param_map_.size()
220 << " array_float_param_map's size: " << array_float_param_map_.size()
221 << " array_bool_param_map's size: " << array_bool_param_map_.size();
222
223 return true;
224}