def generate_models(self, input_shape, output_dim):
loss_type = self.grid.params_grid["loss"][0]
for layers in self.create_network_structures(self.grid.params_grid["layers"], self.grid.params_grid["layer_nums"], input_shape):
print "Current network: %s" % "->".join(layers)
flat_params_grid = self.grid.create_flat_layers_grid(layers, input_shape, output_dim)
for optimizer_name in self.grid.params_grid["optimizers"]:
flat_grid = flat_params_grid.copy()
flat_grid.update(self.grid.create_flat_optimizer_grid(optimizer_name))
n_samples = min(self.params_sample_size, len(ParameterGrid(flat_grid)))
for params in ParameterSampler(flat_grid, n_samples):
nn_params = self.grid.fold_params(params)
yield self.model_factory.create_model(layers, nn_params, loss_type)
# Example.
评论列表
文章目录