def main():
    ValidSampler = Sampler(utils.valid_file)
    TestSampler = Sampler(utils.test_file)
    networks = []
    weights = []
    for i in xrange(5):
        if i == 0:
            TrainSampler = Sampler(utils.train_file)
            prev_ys = np.copy(TrainSampler.labels)
        else:
            TrainSampler = Sampler(utils.train_file, prev_ys)
        
        network = Network()
        network.train(TrainSampler)
        
        cur_ys = network.predict(TrainSampler)
        b1 = np.sum(np.multiply(cur_ys, prev_ys))
        b2 = np.sum(np.multiply(cur_ys, cur_ys))
        w = float(b1) / b2
        prev_ys = np.subtract(prev_ys, w * cur_ys)
        
        print i, 'done with weight', w
        network.save('network_' + str(i) + '.ckpt')
        weights.append(w)
        networks.append(network)

        validate_boost(ValidSampler, networks, weights)
    validate_boost(TestSampler, networks, weights)

    np.save('weights.npy', weights)
Exemple #2
0
def main():
    ValidSampler = Sampler(utils.valid_file)
    TestSampler = Sampler(utils.test_file)
    networks = []
    weights = []
    for i in xrange(5):
        if i == 0:
            TrainSampler = Sampler(utils.train_file)
            prev_ys = np.copy(TrainSampler.labels)
        else:
            TrainSampler = Sampler(utils.train_file, prev_ys)

        network = Network()
        network.train(TrainSampler)

        cur_ys = network.predict(TrainSampler)
        b1 = np.sum(np.multiply(cur_ys, prev_ys))
        b2 = np.sum(np.multiply(cur_ys, cur_ys))
        w = float(b1) / b2
        prev_ys = np.subtract(prev_ys, w * cur_ys)

        print i, 'done with weight', w
        network.save('network_' + str(i) + '.ckpt')
        weights.append(w)
        networks.append(network)

        validate_boost(ValidSampler, networks, weights)
    validate_boost(TestSampler, networks, weights)

    np.save('weights.npy', weights)
Exemple #3
0
def test(a, b):
    white = Network(a)
    black = Network(b)
    print("training")
    white.train()

    print("playing")
    board = chess.Board()
    for i in range(10):
        print(i)
        board.reset()
        while not board.is_game_over():
            move = play(board, white, True)
            if board.is_game_over():
                break
            board.push(move)
            move = play(board, black, False)
            board.push(move)
        print(board.result())
                 activation='relu',
                 pooling=False,
                 name='conv3')
    net.add_conv(patch_size=3,
                 in_depth=32,
                 out_depth=32,
                 activation='relu',
                 pooling=True,
                 name='conv4')

    # 4 = 两次 pooling, 每一次缩小为 1/2
    # 32 = conv4 out_depth
    net.add_fc(in_num_nodes=(image_size // 4) * (image_size // 4) * 32,
               out_num_nodes=128,
               activation='relu',
               name='fc1')
    net.add_fc(in_num_nodes=128, out_num_nodes=10, activation=None, name='fc2')

    net.define_model()
    # net.run(train_samples, train_labels, test_samples, test_labels, train_data_iterator=train_data_iterator,
    #         iteration_steps=3000, test_data_iterator=test_data_iterator)
    net.train(train_samples,
              train_labels,
              data_iterator=train_data_iterator,
              iteration_steps=2000)
    net.test(test_samples, test_labels, data_iterator=test_data_iterator)

else:
    raise Exception(
        'main.py: Should Not Be Imported!!! Must Run by "python main.py"')