def get_cnn_model(model_num, search_space): space = cnn_space(search_space) hparams = {'model_' + model_num: 'CNN', 'word_vectors_' + model_num: ('word2vec', True), 'delta_' + model_num: True, 'flex_' + model_num: (True, .15), 'filters_' + model_num: hp.quniform('filters_' + model_num, *space['filters_'], 1), 'kernel_size_' + model_num: hp.quniform('kernel_size_' + model_num, *space['kernel_size_'], 1), 'kernel_increment_' + model_num: hp.quniform('kernel_increment_' + model_num, *space['kernel_increment_'], 1), 'kernel_num_' + model_num: hp.quniform('kernel_num_' + model_num, *space['kernel_num_'], 1), 'dropout_' + model_num: hp.uniform('dropout_' + model_num, *space['dropout_']), 'batch_size_' + model_num: hp.quniform('batch_size_' + model_num, *space['batch_size_'], 1), 'activation_fn_' + model_num: hp.choice('activation_fn_' + model_num, space['activation_fn_'])} if space['no_reg']: hparams['regularizer_cnn_' + model_num] = hp.choice('regularizer_cnn_' + model_num, [ (None, 0.0), ('l2', hp.uniform('l2_strength_cnn_' + model_num, *space['l2_'])), ('l2_clip', hp.uniform('l2_clip_norm_' + model_num, *space['l2_clip_'])) ]) else: hparams['regularizer_cnn_' + model_num] = hp.choice('regularizer_cnn_' + model_num, [ ('l2', hp.uniform('l2_strength_cnn_' + model_num, *space['l2_'])), ('l2_clip', hp.uniform('l2_clip_norm_' + model_num, *space['l2_clip_'])) ]) if space['search_lr']: hparams['learning_rate_' + model_num] = hp.lognormal('learning_rate_' + model_num, 0, 1) / 3000 else: hparams['learning_rate_' + model_num] = .0003
def get_cnn_model(model_num, search_space): space = cnn_space(search_space) param_dist = { 'model_' + model_num: 'CNN', 'word_vectors_' + model_num: ('word2vec', True), 'delta_' + model_num: random.choice(space['delta_']), 'flex_' + model_num: (True, random.random() * (space['flex_amt_'][1] - space['flex_amt_'][1]) + space['flex_amt_'][0]), 'dropout_' + model_num: random.random() * (space['dropout_'][1] - space['dropout_'][0]) + space['dropout_'][0], 'activation_fn_' + model_num: random.choice(space['activation_fn_']), 'learning_rate_' + model_num: .0003, 'filters_' + model_num: random.randint(*space['filters_']), 'kernel_size_' + model_num: random.randint(*space['kernel_size_']), 'kernel_increment_' + model_num: random.randint(*space['kernel_increment_']), 'kernel_num_' + model_num: random.randint(*space['kernel_num_']), 'batch_size_' + model_num: random.randint(*space['batch_size_']) } #regularize with option of no rig if no reg if space['no_reg'] == True: param_dist['regularizer_cnn_' + model_num] = random.choice([ (None, 0.0), ('l2', (random.random() * (space['l2_'][1] - space['l2_'][0]) + space['l2_'][0])), ('l2_clip', (random.random() * (space['l2_clip_'][1] - space['l2_clip_'][0]) + space['l2_clip_'][0])) ]) else: param_dist['regularizer_cnn_' + model_num] = random.choice([ ('l2', (random.random() * (space['l2_'][1] - space['l2_'][0]) + space['l2_'][0])), ('l2_clip', (random.random() * (space['l2_clip_'][1] - space['l2_clip_'][0]) + space['l2_clip_'][0])) ]) #overwrite previously set values to search over some parameters depending on options if space['search_lr'] == True: param_dist['learning_rate_' + model_num] = (random.lognormvariate(0, 1)) / 3000 return param_dist
def get_cnn_model(model_num, search_space): space = cnn_space(search_space) hparams = { 'model_' + model_num: 'CNN', 'word_vectors_' + model_num: ('word2vec', True), 'delta_' + model_num: True, 'flex_' + model_num: (True, .15), 'filters_' + model_num: hp.quniform('filters_' + model_num, *space['filters_'], 1), 'kernel_size_' + model_num: hp.quniform('kernel_size_' + model_num, *space['kernel_size_'], 1), 'kernel_increment_' + model_num: hp.quniform('kernel_increment_' + model_num, *space['kernel_increment_'], 1), 'kernel_num_' + model_num: hp.quniform('kernel_num_' + model_num, *space['kernel_num_'], 1), 'dropout_' + model_num: hp.uniform('dropout_' + model_num, *space['dropout_']), 'batch_size_' + model_num: hp.quniform('batch_size_' + model_num, *space['batch_size_'], 1), 'activation_fn_' + model_num: hp.choice('activation_fn_' + model_num, space['activation_fn_']) } if space['no_reg']: hparams['regularizer_cnn_' + model_num] = hp.choice( 'regularizer_cnn_' + model_num, [(None, 0.0), ('l2', hp.uniform('l2_strength_cnn_' + model_num, *space['l2_'])), ('l2_clip', hp.uniform('l2_clip_norm_' + model_num, *space['l2_clip_']))]) else: hparams['regularizer_cnn_' + model_num] = hp.choice( 'regularizer_cnn_' + model_num, [('l2', hp.uniform('l2_strength_cnn_' + model_num, *space['l2_'])), ('l2_clip', hp.uniform('l2_clip_norm_' + model_num, *space['l2_clip_']))]) if space['search_lr']: hparams['learning_rate_' + model_num] = hp.lognormal( 'learning_rate_' + model_num, 0, 1) / 3000 else: hparams['learning_rate_' + model_num] = .0003
def get_cnn_model(model_num, search_space): space = cnn_space(search_space) param_dist = {'model_' + model_num: 'CNN', 'word_vectors_' + model_num: ('word2vec', True), 'delta_' + model_num: random.choice(space['delta_']), 'flex_' + model_num: (True, random.random() * (space['flex_amt_'][1] - space['flex_amt_'][1]) + space['flex_amt_'][0]), 'dropout_' + model_num: random.random() * (space['dropout_'][1] - space['dropout_'][0]) + space['dropout_'][0], 'activation_fn_' + model_num: random.choice(space['activation_fn_']), 'learning_rate_' + model_num: .0003, 'filters_' + model_num: random.randint(*space['filters_']), 'kernel_size_' + model_num: random.randint(*space['kernel_size_']), 'kernel_increment_' + model_num: random.randint(*space['kernel_increment_']), 'kernel_num_' + model_num: random.randint(*space['kernel_num_']), 'batch_size_' + model_num: random.randint(*space['batch_size_']) } #regularize with option of no rig if no reg if space['no_reg'] == True: param_dist['regularizer_cnn_' + model_num] = random.choice([ (None, 0.0), ('l2', (random.random() * (space['l2_'][1] - space['l2_'][0]) + space['l2_'][0])), ('l2_clip', (random.random() * (space['l2_clip_'][1] - space['l2_clip_'][0]) + space['l2_clip_'][0])) ]) else: param_dist['regularizer_cnn_' + model_num] = random.choice([ ('l2', (random.random() * (space['l2_'][1] - space['l2_'][0]) + space['l2_'][0])), ('l2_clip', (random.random() * (space['l2_clip_'][1] - space['l2_clip_'][0]) + space['l2_clip_'][0])) ]) #overwrite previously set values to search over some parameters depending on options if space['search_lr'] == True: param_dist['learning_rate_' + model_num] = (random.lognormvariate(0, 1)) / 3000 return param_dist