28 lines
622 B
C++
28 lines
622 B
C++
#pragma once
|
|
|
|
#include "./Network.h"
|
|
#include <NeuralNetwork/ActivationFunction/Heaviside.h>
|
|
|
|
namespace NeuralNetwork {
|
|
namespace FeedForward {
|
|
class Perceptron : private Network{
|
|
public:
|
|
inline Perceptron(size_t _inputSize,size_t _outputSize):Network(_inputSize) {
|
|
appendLayer(_outputSize,ActivationFunction::Heaviside(0.0));
|
|
};
|
|
|
|
using Network::computeOutput;
|
|
using Network::randomizeWeights;
|
|
|
|
inline std::size_t size() const {
|
|
return layers[1]->size();
|
|
}
|
|
|
|
inline NeuronInterface& operator[](const std::size_t& neuron) {
|
|
return layers[1]->operator[](neuron);
|
|
}
|
|
|
|
protected:
|
|
};
|
|
}
|
|
} |