本文整理汇总了C++中NeuralNetwork::calcNumericalGradient方法的典型用法代码示例。如果您正苦于以下问题:C++ NeuralNetwork::calcNumericalGradient方法的具体用法?C++ NeuralNetwork::calcNumericalGradient怎么用?C++ NeuralNetwork::calcNumericalGradient使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NeuralNetwork
的用法示例。
在下文中一共展示了NeuralNetwork::calcNumericalGradient方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createAndOrSample
TEST(TestNeuralNetwork, testIfBackpropGradientIsEqToNumerical)
{
NeuralNetwork nn {2, 2};
vector<float> weights {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f};
vector<float> input;
vector<float> expected;
vector<float> backpropGradient;
vector<float> numericalGradient;
int iter = 0;
bool lastBatch;
input.resize(2);
expected.resize(2);
nn.setWeights(weights);
nn.setActivationFunction(ActivationFunction::sigmoid());
do {
lastBatch = createAndOrSample(iter++, input, expected);
nn.setInput(input);
nn.calc();
nn.calcNumericalGradient(expected, numericalGradient);
nn.calcBackpropagationGradient(expected, backpropGradient);
ASSERT_EQ(numericalGradient.size(), backpropGradient.size());
for (int i = 0; i < numericalGradient.size(); ++i) {
EXPECT_NEAR(numericalGradient[i], backpropGradient[i], 0.0001f);
numericalGradient[i] = 0.0f;
backpropGradient[i] = 0.0f;
}
} while(!lastBatch);
}