Files
NeuralNetworkLib/include/NeuralNetwork/ActivationFunction/ActivationFunction.h

42 lines
910 B
C++

#pragma once
#include <string>
namespace NeuralNetwork {
namespace ActivationFunction {
/**
* @author Tomas Cernik (Tom.Cernik@gmail.com)
* @brief Abstract class of activation function
*/
class ActivationFunction {
public:
virtual ~ActivationFunction() {}
/**
* @brief Returns derivation of output
* @param input is input of function
* @param output is output of function
*/
virtual float derivatedOutput(const float &input,const float &output)=0;
/**
* @brief Returns value of output
* @param x is input of function
*/
virtual float operator()(const float &x)=0;
/**
* @brief Function returns clone of object
*/
virtual ActivationFunction* clone() const = 0;
/**
* @brief This is a virtual function for storing Activation function
* @returns json describing function
*/
virtual std::string stringify() const =0;
};
}
}