def serialize_config(params: base_configs.ExperimentConfig, model_dir: str): """Serializes and saves the experiment config.""" params_save_path = os.path.join(model_dir, 'params.yaml') logging.info('Saving experiment configuration to %s', params_save_path) tf.io.gfile.makedirs(model_dir) params_dict.save_params_dict_to_yaml(params, params_save_path)
def _save_config(self, model_dir): """Save parameters to config files if model_dir is defined.""" logging.info('Save config to model_dir %s.', model_dir) if model_dir: if not tf.io.gfile.exists(model_dir): tf.io.gfile.makedirs(model_dir) self._params.lock() params_dict.save_params_dict_to_yaml(self._params, model_dir + '/params.yaml') else: logging.warning('model_dir is empty, so skip the save config.')
def test_save_params_dict_to_yaml(self): params = params_dict.ParamsDict( {'a': 'aa', 'b': 2, 'c': {'c1': 10, 'c2': 20}}) output_yaml_file = os.path.join(self.get_temp_dir(), 'params.yaml') params_dict.save_params_dict_to_yaml(params, output_yaml_file) with tf.io.gfile.GFile(output_yaml_file, 'r') as f: params_d = yaml.load(f) self.assertEqual(params.a, params_d['a']) self.assertEqual(params.b, params_d['b']) self.assertEqual(params.c.c1, params_d['c']['c1']) self.assertEqual(params.c.c2, params_d['c']['c2'])