Added forward-feeding of double-ptrs
This commit is contained in:
parent
ec654c0e5f
commit
650b4be9fc
4 changed files with 28 additions and 2 deletions
|
@ -24,6 +24,14 @@ void Layer::setOutputValues(const std::vector<double> & outputValues)
|
|||
}
|
||||
}
|
||||
|
||||
void Layer::setOutputValues(const double *outputValues)
|
||||
{
|
||||
for (size_t neuronIndex = 0; neuronIndex < size(); ++neuronIndex)
|
||||
{
|
||||
at(neuronIndex).setOutputValue(outputValues[neuronIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
void Layer::feedForward(const Layer &inputLayer)
|
||||
{
|
||||
for (size_t neuronNumber = 0; neuronNumber < sizeWithoutBiasNeuron(); ++neuronNumber)
|
||||
|
|
2
Layer.h
2
Layer.h
|
@ -13,6 +13,8 @@ public:
|
|||
Layer(size_t numNeurons);
|
||||
|
||||
void setOutputValues(const std::vector<double> & outputValues);
|
||||
void setOutputValues(const double *outputValues);
|
||||
|
||||
void feedForward(const Layer &inputLayer);
|
||||
double getWeightedSum(size_t outputNeuron) const;
|
||||
void connectTo(const Layer & nextLayer);
|
||||
|
|
15
Net.cpp
15
Net.cpp
|
@ -66,6 +66,21 @@ void Net::feedForward(const std::vector<double> &inputValues)
|
|||
}
|
||||
}
|
||||
|
||||
void Net::feedForward(const double *inputValues)
|
||||
{
|
||||
Layer &inputLayer = front();
|
||||
|
||||
inputLayer.setOutputValues(inputValues);
|
||||
|
||||
for (auto layerIt = begin(); layerIt != end() - 1; ++layerIt)
|
||||
{
|
||||
const Layer ¤tLayer = *layerIt;
|
||||
Layer &nextLayer = *(layerIt + 1);
|
||||
|
||||
nextLayer.feedForward(currentLayer);
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<double> Net::getOutput()
|
||||
{
|
||||
std::vector<double> result;
|
||||
|
|
1
Net.h
1
Net.h
|
@ -15,6 +15,7 @@ public:
|
|||
void initialize(std::initializer_list<size_t> layerSizes);
|
||||
|
||||
void feedForward(const std::vector<double> &inputValues);
|
||||
void feedForward(const double *inputValues);
|
||||
std::vector<double> getOutput();
|
||||
void backProp(const std::vector<double> &targetValues);
|
||||
|
||||
|
|
Loading…
Reference in a new issue