コード例 #1
0
ファイル: bayesopt.py プロジェクト: Noahs-ARK/ARKcat
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
コード例 #2
0
ファイル: random_search.py プロジェクト: katyasyc/ARKcat
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
コード例 #3
0
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
コード例 #4
0
ファイル: random_search.py プロジェクト: Noahs-ARK/ARKcat
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