Files
BiPy/main.cpp
T
2026-04-28 23:23:57 +07:00

39 lines
1.2 KiB
C++

#include <iostream>
#include <vector>
#include <ctime>
#include "Xenith/core.h"
#include "Xenith/typedef.h"
int main() {
srand(time(NULL));
LayerStructure_t layers[] = {
{2, SIGMOID}, // Вход: 2 числа
{3, SIGMOID}, // Скрытый слой
{1, SIGMOID} // Выход: 1 число
};
NeuralNetwork nn(layers, 3);
// Данные для обучения
std::vector<std::vector<double>> inputs = {{1, 1}, {1, 0}, {0, 0}, {0, 1}};
std::vector<std::vector<double>> targets = {{0}, {1}, {1}, {0}};
// Цикл обучения
std::cout << "Training..." << std::endl;
for (int epoch = 0; epoch < 20000; epoch++) {
for (int i = 0; i < inputs.size(); i++) {
nn.train(inputs[i], targets[i], 0.5);
}
}
// Проверка результатов
std::cout << "Results:" << std::endl;
for (int i = 0; i < inputs.size(); i++) {
std::vector<double> res = nn.feedForward(inputs[i]);
std::cout << inputs[i][0] << " " << inputs[i][1] << " -> "
<< (res[0] > 0.5 ? 1 : 0) << " (raw: " << res[0] << ")" << std::endl;
}
return 0;
}