Files
TitanicAI/NeuronsNetworkBase.h
T
Jiga228 6faf2694e6 Init
2026-07-13 23:23:11 +07:00

37 lines
703 B
C++

#pragma once
#include <fstream>
#include <vector>
template<class T>
class NeuronsNetworkBase
{
double rate_train_ = 0.01;
std::vector<double> masses;
protected:
virtual double activation(double x) = 0;
double& operator[](size_t index)
{
return masses[index];
}
public:
NeuronsNetworkBase(size_t count_neurons, double rate_train):
rate_train_(rate_train)
{
masses.resize(count_neurons);
}
virtual ~NeuronsNetworkBase() = default;
virtual void train(double error, const T& data) = 0;
virtual double call(const T& data) = 0;
double get_rate_train() const
{
return rate_train_;
}
};