util.py

This file has two main usages: * To run every eporch for training or evaluation * To get problem config.

Run epoch

  • run_epoch(sess, cost_op, ops, reset, num_unrolls, var1, var2)

    • The training function for training the optimizer for one epoch.

    • Arguments:

      • sess: The tensorflow session variable.
      • cost_op: The variable for training the optimzier.
      • ops: A list = [variable for training the optimizer, the variable for optimization step].
      • reset: The initialization variable for initializing the optimizee before every epoch.
      • num_unrolls: The number of unrolled RNNs.
      • var1: The tensor for the constants in the optimizee.
      • var2: The variable for optimizer parameters.
    • Return:
      • The running time
      • The objective function values in this epoch.
  • eval_run_epoch(sess, cost_op, ops, reset, num_unrolls, var1, var2)

    • The evaluation function for optimizing the objective function using the optimizer for one epoch.

    • Arguments:

      • sess: The tensorflow session variable.
      • cost_op: The variable for training the optimzier.
      • ops: A list = [the variable for optimization step].
      • reset: The initialization variable for initializing the optimizee before every epoch.
      • num_unrolls: The number of unrolled RNNs.
      • var1: The tensor for the constants in the optimizee.
      • var2: The variable for optimizer parameters.
    • Return:
      • The running time
      • The objective function values in this epoch.

Get problem config

  • get_config(problem_name, path=None, mode='train')

    • The function for obtaining the config of the problem and the optimizer

    • Arguments:

      • problem_name: The name of the problem.
      • path: The path to the saved optimizer. During training it is None, during evaluation it is set to be the saved optimizer.
      • mode: A string variable which should be set to 'train' during training and 'test' during evaluation.
    • Return:

      • problem: The call for the problem (a.k.a objective function/optimizee)
      • net_config: A directory stores the configuration of the optmizer network.
      • net_assignment: The assignment for the optimizer network.