Пример #1
0

if __name__ == "__main__":
    # initialize storage manager
    storage = LoadAndSaveData('./single_data_set')

    if is_load_from_file:
        data_set = storage.load_data_set()
    else:
        # initialize char board
        board = CharBorad(5, 5, on_submit, True)
        while board.is_open:
            board.start()

    # initialize neurons
    perceptron_neuron_x = Perceptron(5 * 5, 0.1, 0.1)
    perceptron_neuron_o = Perceptron(5 * 5, 0.1, 0.1)

    perceptron_neuron_x.train_all(data_set)
    perceptron_neuron_o.train_all([{
        'inputs': item['inputs'],
        'result': 1 if item['result'] == -1 else -1
    } for item in data_set])

    board = CharBorad(5, 5, lambda inputs, x: print(
        get_char_name(perceptron_neuron_x.calculate_one(inputs),
                      perceptron_neuron_o.calculate_one(inputs))),
                      False)  # initialize char board
    while board.is_open:
        board.start()
    if number == -1:
        return 'O'
    elif number == 1:
        return 'X'
    else:
        return 'undefined'


if __name__ == "__main__":
    perceptronNeuron = Perceptron(5 * 5, 0.1, 0.01)  # initialize neuron
    storage = LoadAndSaveData('./single_data_set')

    # if you want to load from data set just comment this section
    train_board = CharBorad(5, 5, on_submit, True)  # initialize char board
    while train_board.is_open:
        train_board.start()
    # storage.save_data_set() # save your input data

    # if you want to load from data set just uncomment this section
    # data_set = storage.load_data_set()

    perceptronNeuron.train_all(data_set)

    print(perceptronNeuron.weights)

    board = CharBorad(5, 5, lambda inputs, x: print(
        get_char_name(perceptronNeuron.calculate_one(inputs))),
                      False)  # initialize char board
    while board.is_open:
        board.start()