'Constructs a VGSLImageModel.
Args:
mode:        One of "train", "eval"
model_spec:  Full model specification string, for reference only.
initial_learning_rate: Initial learning rate for the network.
final_learning_rate: Final learning rate for the network.
halflife: Number of steps over which to halve the difference between
initial and final learning rate for the network.'

def __init__(self, mode, model_spec, initial_learning_rate, final_learning_rate, halflife):

    self.model_spec = model_spec
    self.layers = None
    self.mode = mode
    self.initial_learning_rate = initial_learning_rate
    self.final_learning_rate = final_learning_rate
    self.decay_steps = (halflife / DECAY_STEPS_FACTOR)
    self.decay_rate = DECAY_RATE
    self.labels = None
    self.sparse_labels = None
    self.truths = None
    self.loss = None
    self.train_op = None
    self.global_step = None
    self.output = None
    self.using_ctc = False
    self.saver = None
