'model_type = `str`: wide or deep or wide+deep
verbose = `bool`
name = `str` used for run_id (defaults to model_type)
tensorboard_verbose = `int`: logging level for tensorboard (0, 1, 2, or 3)
wide_learning_rate = `float`: defaults to 0.001
deep_learning_rate = `float`: defaults to 0.001
checkpoints_dir = `str`: where checkpoint files will be stored (defaults to "CHECKPOINTS")'

def __init__(self, model_type='wide+deep', verbose=None, name=None, tensorboard_verbose=3, wide_learning_rate=0.001, deep_learning_rate=0.001, checkpoints_dir=None):

    self.model_type = (model_type or 'wide+deep')
    assert (self.model_type in self.AVAILABLE_MODELS)
    self.verbose = (verbose or 0)
    self.tensorboard_verbose = tensorboard_verbose
    self.name = (name or self.model_type)
    self.data_columns = COLUMNS
    self.continuous_columns = CONTINUOUS_COLUMNS
    self.categorical_columns = CATEGORICAL_COLUMNS
    self.label_column = LABEL_COLUMN
    self.checkpoints_dir = (checkpoints_dir or 'CHECKPOINTS')
    if (not os.path.exists(self.checkpoints_dir)):
        os.mkdir(self.checkpoints_dir)
        print(('Created    checkpoints    directory    %s' % self.checkpoints_dir))
    self.build_model([wide_learning_rate, deep_learning_rate])
