#ifndef CORE_H #define CORE_H #include "typedef.h" #include #include class NeuralNetwork { private: int numLayers; std::vector sizes; std::vector>> weights; std::vector> biases; std::vector> outputs; double sigmoid(double x) { return 1.0 / (1.0 + exp(-x)); } double sigmoidDeriv(double x) { return x * (1.0 - x); } public: NeuralNetwork(LayerStructure_t layers[], int count); std::vector feedForward(const std::vector& input); double train(const std::vector& input, const std::vector& target, double lr); }; #endif