コード例 #1
0
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    better_hps_list = etc_hp()
    for better_hps in better_hps_list:
        basic_hypers = {
            'batch_size': int(float(better_hps[0])),
            'patch_size': int(float(better_hps[4])),
            'depth': int(float(better_hps[1])),
            'num_hidden': int(float(better_hps[2])),
            'layer_sum': int(float(better_hps[3])),
            'starter_learning_rate': 0.1
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1]
                         for _ in range(basic_hypers['layer_sum'])]
        conv_train(train_dataset, train_labels, valid_dataset, valid_labels,
                   test_dataset, test_labels, image_size, num_labels,
                   basic_hypers, stride_params)
    else:
        print('can not find better hypers')
コード例 #2
0
def hp_train():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    basic_hypers = {
        'batch_size': 32,
        'patch_size': 5,
        'depth': 16,
        'num_hidden': 64,
        'layer_sum': 2
    }
    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    conv_train(train_dataset,
               train_labels,
               valid_dataset,
               valid_labels,
               test_dataset,
               test_labels,
               image_size,
               num_labels,
               basic_hypers,
               stride_params,
               drop=True,
               lrd=False)
コード例 #3
0
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0: pick_size, :, :, :]
    valid_labels = valid_labels[0: pick_size, :]
    test_dataset = test_dataset[0: pick_size, :, :, :]
    test_labels = test_labels[0: pick_size, :]
    better_hps_list = etc_hp()
    for better_hps in better_hps_list:
        basic_hypers = {
            'batch_size': int(float(better_hps[0])),
            'patch_size': int(float(better_hps[4])),
            'depth': int(float(better_hps[1])),
            'num_hidden': int(float(better_hps[2])),
            'layer_sum': int(float(better_hps[3])),
            'starter_learning_rate': 0.1
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
        conv_train(
            train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
            image_size, num_labels, basic_hypers, stride_params)
    else:
        print('can not find better hypers')
コード例 #4
0
ファイル: cnn_prophet.py プロジェクト: ahangchen/GDLnotes
def fit_predict():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0: pick_size, :, :, :]
    valid_labels = valid_labels[0: pick_size, :]
    test_dataset = test_dataset[0: pick_size, :, :, :]
    test_labels = test_labels[0: pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3
    }
    while(True):
        basic_hypers['batch_size'] = random.randint(basic_hypers['batch_size'] / 2, basic_hypers['batch_size'] * 2)
        basic_hypers['patch_size'] = random.randint(basic_hypers['patch_size'] / 2, basic_hypers['patch_size'] * 2)
        basic_hypers['depth'] = random.randint(basic_hypers['depth'] / 2, basic_hypers['depth'] * 2)
        basic_hypers['num_hidden'] = random.randint(basic_hypers['num_hidden'] / 2, basic_hypers['num_hidden'] * 2)
        basic_hypers['layer_sum'] = random.randint(basic_hypers['layer_sum'] / 2, basic_hypers['layer_sum'] * 2)
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)

        stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
        conv_train(train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
                                     image_size, num_labels, basic_hypers, stride_params, lrd=True)
コード例 #5
0
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3,
        'starter_learning_rate': 0.1
    }
    if basic_hypers['patch_size'] > 28:
        basic_hypers['patch_size'] = 28
    if basic_hypers['layer_sum'] > 3:
        basic_hypers['layer_sum'] = 3
    print('=' * 80)
    print(basic_hypers)

    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    better_hps = conv_train(train_dataset, train_labels, valid_dataset,
                            valid_labels, test_dataset, test_labels,
                            image_size, num_labels, basic_hypers,
                            stride_params)
    while valid_hp(better_hps):
        basic_hypers = {
            'batch_size': better_hps[0],
            'patch_size': better_hps[4],
            'depth': better_hps[1],
            'num_hidden': better_hps[2],
            'layer_sum': better_hps[3],
            'starter_learning_rate': better_hps[5]
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        if basic_hypers['layer_sum'] > 3:
            basic_hypers['layer_sum'] = 3
        if basic_hypers['patch_size'] <= basic_hypers['layer_sum']:
            basic_hypers['patch_size'] = basic_hypers['layer_sum']
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1]
                         for _ in range(basic_hypers['layer_sum'])]
        better_hps = conv_train(train_dataset, train_labels, valid_dataset,
                                valid_labels, test_dataset, test_labels,
                                image_size, num_labels, basic_hypers,
                                stride_params)
    else:
        print('can not find better hypers')
コード例 #6
0
def random_hp():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3,
        'starter_learning_rate': 0.1
    }
    if basic_hypers['patch_size'] > 28:
        basic_hypers['patch_size'] = 28

    print('=' * 80)
    print(basic_hypers)

    for _ in range(200):
        random_hypers = {
            'batch_size':
            basic_hypers['batch_size'] + random.randint(-9, 30),
            'patch_size':
            basic_hypers['patch_size'] + random.randint(-5, 15),
            'depth':
            basic_hypers['depth'] + random.randint(-9, 10),
            'num_hidden':
            basic_hypers['num_hidden'] * random.randint(1, 10),
            'layer_sum':
            basic_hypers['layer_sum'] + random.randint(-1, 2),
            'starter_learning_rate':
            basic_hypers['starter_learning_rate'] * random.uniform(0, 5)
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if random_hypers['patch_size'] > 28:
            random_hypers['patch_size'] = 28
        print('=' * 80)
        print(random_hypers)
        stride_params = [[1, 2, 2, 1]
                         for _ in range(random_hypers['layer_sum'])]
        hps, loss_es = conv_train(train_dataset, train_labels, valid_dataset,
                                  valid_labels, test_dataset, test_labels,
                                  image_size, num_labels, random_hypers,
                                  stride_params)
        file_helper.write('hps', str(hps))
        file_helper.write('losses', str(loss_es))
コード例 #7
0
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0: pick_size, :, :, :]
    valid_labels = valid_labels[0: pick_size, :]
    test_dataset = test_dataset[0: pick_size, :, :, :]
    test_labels = test_labels[0: pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3,
        'starter_learning_rate': 0.1
    }
    if basic_hypers['patch_size'] > 28:
        basic_hypers['patch_size'] = 28
    if basic_hypers['layer_sum'] > 3:
        basic_hypers['layer_sum'] = 3
    print('=' * 80)
    print(basic_hypers)

    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    better_hps = conv_train(train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
                                 image_size, num_labels, basic_hypers, stride_params)
    while valid_hp(better_hps):
        basic_hypers = {
            'batch_size': better_hps[0],
            'patch_size': better_hps[4],
            'depth': better_hps[1],
            'num_hidden': better_hps[2],
            'layer_sum': better_hps[3],
            'starter_learning_rate': better_hps[5]
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        if basic_hypers['layer_sum'] > 3:
            basic_hypers['layer_sum'] = 3
        if basic_hypers['patch_size'] <= basic_hypers['layer_sum']:
            basic_hypers['patch_size'] = basic_hypers['layer_sum']
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
        better_hps = conv_train(
            train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
            image_size, num_labels, basic_hypers, stride_params)
    else:
        print('can not find better hypers')
コード例 #8
0
ファイル: cnn_prophet.py プロジェクト: ziyubiti/GDLnotes
def fit_predict():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3
    }
    while (True):
        basic_hypers['batch_size'] = random.randint(
            basic_hypers['batch_size'] / 2, basic_hypers['batch_size'] * 2)
        basic_hypers['patch_size'] = random.randint(
            basic_hypers['patch_size'] / 2, basic_hypers['patch_size'] * 2)
        basic_hypers['depth'] = random.randint(basic_hypers['depth'] / 2,
                                               basic_hypers['depth'] * 2)
        basic_hypers['num_hidden'] = random.randint(
            basic_hypers['num_hidden'] / 2, basic_hypers['num_hidden'] * 2)
        basic_hypers['layer_sum'] = random.randint(
            basic_hypers['layer_sum'] / 2, basic_hypers['layer_sum'] * 2)
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)

        stride_params = [[1, 2, 2, 1]
                         for _ in range(basic_hypers['layer_sum'])]
        conv_train(train_dataset,
                   train_labels,
                   valid_dataset,
                   valid_labels,
                   test_dataset,
                   test_labels,
                   image_size,
                   num_labels,
                   basic_hypers,
                   stride_params,
                   lrd=True)
コード例 #9
0
ファイル: cnn_optimize.py プロジェクト: ahangchen/GDLnotes
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0: pick_size, :, :, :]
    valid_labels = valid_labels[0: pick_size, :]
    test_dataset = test_dataset[0: pick_size, :, :, :]
    test_labels = test_labels[0: pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3
    }
    if basic_hypers['patch_size'] > 28:
        basic_hypers['patch_size'] = 28

    print('=' * 80)
    print(basic_hypers)

    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    ret, better_hps = conv_train(train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
                                 image_size, num_labels, basic_hypers, stride_params, lrd=True)
    while ret and valid_hp(better_hps):
        basic_hypers = {
            'batch_size': better_hps[0],
            'patch_size': better_hps[4],
            'depth': better_hps[1],
            'num_hidden': better_hps[2],
            'layer_sum': better_hps[3]
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
        ret, better_hps = conv_train(
            train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels,
            image_size, num_labels, basic_hypers, stride_params, lrd=True)
    else:
        print('can not find better hypers')
コード例 #10
0
ファイル: cnn_board.py プロジェクト: ahangchen/GDLnotes
def hp_train():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0: pick_size, :, :, :]
    valid_labels = valid_labels[0: pick_size, :]
    test_dataset = test_dataset[0: pick_size, :, :, :]
    test_labels = test_labels[0: pick_size, :]
    basic_hypers = {
        'batch_size': 32,
        'patch_size': 5,
        'depth': 16,
        'num_hidden': 64,
        'layer_sum': 2
    }
    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    conv_train(train_dataset, train_labels, valid_dataset, valid_labels, test_dataset,
               test_labels,
               image_size, num_labels, basic_hypers, stride_params, drop=True, lrd=False)
コード例 #11
0
def fit_better():
    image_size = 28
    num_labels = 10
    train_dataset, train_labels, valid_dataset, valid_labels, test_dataset, test_labels = \
        format_mnist()
    pick_size = 2048
    valid_dataset = valid_dataset[0:pick_size, :, :, :]
    valid_labels = valid_labels[0:pick_size, :]
    test_dataset = test_dataset[0:pick_size, :, :, :]
    test_labels = test_labels[0:pick_size, :]
    basic_hypers = {
        'batch_size': 10,
        'patch_size': 10,
        'depth': 10,
        'num_hidden': 10,
        'layer_sum': 3
    }
    if basic_hypers['patch_size'] > 28:
        basic_hypers['patch_size'] = 28

    print('=' * 80)
    print(basic_hypers)

    stride_params = [[1, 2, 2, 1] for _ in range(basic_hypers['layer_sum'])]
    ret, better_hps = conv_train(train_dataset,
                                 train_labels,
                                 valid_dataset,
                                 valid_labels,
                                 test_dataset,
                                 test_labels,
                                 image_size,
                                 num_labels,
                                 basic_hypers,
                                 stride_params,
                                 lrd=True)
    while ret and valid_hp(better_hps):
        basic_hypers = {
            'batch_size': better_hps[0],
            'patch_size': better_hps[4],
            'depth': better_hps[1],
            'num_hidden': better_hps[2],
            'layer_sum': better_hps[3]
        }
        # if basic_hypers['batch_size'] < 10:
        #     basic_hypers['batch_size'] = 10
        if basic_hypers['patch_size'] > 28:
            basic_hypers['patch_size'] = 28
        print('=' * 80)
        print(basic_hypers)
        stride_params = [[1, 2, 2, 1]
                         for _ in range(basic_hypers['layer_sum'])]
        ret, better_hps = conv_train(train_dataset,
                                     train_labels,
                                     valid_dataset,
                                     valid_labels,
                                     test_dataset,
                                     test_labels,
                                     image_size,
                                     num_labels,
                                     basic_hypers,
                                     stride_params,
                                     lrd=True)
    else:
        print('can not find better hypers')