Пример #1
0
 def train_once(self, iteration, presets=None, masks=None):
     tf.reset_default_graph()
     sess = tf.Session()
     dataset = dataset_mnist.ConstructedDatasetMnist(
         train_len=self.train_len)
     input_tensor, label_tensor = dataset.placeholders
     hyperparameters = {
         'layers': [(300, tf.nn.relu), (100, tf.nn.relu), (10, None)]
     }
     model = model_fc.ModelFc(hyperparameters,
                              input_tensor,
                              label_tensor,
                              presets=presets,
                              masks=masks)
     params = {
         'test_interval': 100,
         'save_summaries': True,
         'save_network': True,
     }
     return trainer.train(sess,
                          dataset,
                          model,
                          functools.partial(
                              tf.train.GradientDescentOptimizer, .1),
                          ('iterations', 50000),
                          output_dir=paths.run(self.output_dir, iteration),
                          **params)
Пример #2
0
    def train_model(sess, level, dataset, model):
        params = {
            'test_interval': 100,
            'save_summaries': True,
            'save_network': True,
        }

        return trainer_wgan.train(sess,
                                  dataset,
                                  model,
                                  constants.OPTIMIZER_FN,
                                  training_len,
                                  output_dir=paths.run(output_dir, level,
                                                       experiment_name),
                                  **params)
def run(trial_name, level, experiment_name='same_init', run_id=''):
  return paths.run(trial(trial_name), level, experiment_name, run_id)
Пример #4
0
                    print(text.format(*self.counters[text][trial]))


avg_printer = AveragePrinter(len(sys.argv) > 2 and sys.argv[2] == '-a')
exp_path = paths.experiment(constants.EXPERIMENT_PATH, sys.argv[1])
trial_nums = [
    int(re.findall('\d+', trial_dir)[0]) for trial_dir in os.listdir(exp_path)
]
print("Found {} trials".format(max(trial_nums)))
for trial in range(1, max(trial_nums) + 1):
    trial_path = paths.trial(exp_path, trial)
    if not os.path.isdir(trial_path):
        print("Warning: skipping trial {}, does not exist".format(trial))
        continue

    first_run_path = paths.run(trial_path, 0)
    first_run_train_acc = float(
        subprocess.check_output(
            ['tail', '-n', '1',
             paths.log(first_run_path, 'train')]).strip().split(',')[-1])
    avg_printer.do_print(trial, '\tFirst run train acc: {}',
                         [first_run_train_acc])
    first_run_test_acc = float(
        subprocess.check_output(
            ['tail', '-n', '1',
             paths.log(first_run_path, 'test')]).strip().split(',')[-1])
    avg_printer.do_print(trial, '\tFirst run test acc: {}',
                         [first_run_test_acc])

    runs = map(int, os.listdir(trial_path))
    second_last_run = sorted(runs)[-2] if len(runs) > 1 else runs[0]