本文整理汇总了C++中NeuralNetwork::getInputCount方法的典型用法代码示例。如果您正苦于以下问题:C++ NeuralNetwork::getInputCount方法的具体用法?C++ NeuralNetwork::getInputCount怎么用?C++ NeuralNetwork::getInputCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NeuralNetwork
的用法示例。
在下文中一共展示了NeuralNetwork::getInputCount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: visualizeNetwork
static float visualizeNetwork(NeuralNetwork& neuralNetwork, const Image& referenceImage,
const std::string& outputPath)
{
// save the downsampled reference
Image reference = referenceImage;
reference.setPath(rename(outputPath));
reference.save();
NeuronVisualizer visualizer(&neuralNetwork);
Image image = referenceImage;
image.setPath(outputPath);
visualizer.visualizeNeuron(image, 0);
lucius::util::log("TestVisualization") << "Reference response: "
<< neuralNetwork.runInputs(referenceImage.convertToStandardizedMatrix(
neuralNetwork.getInputCount(),
neuralNetwork.getInputBlockingFactor(), image.colorComponents())).toString();
lucius::util::log("TestVisualization") << "Visualized response: "
<< neuralNetwork.runInputs(image.convertToStandardizedMatrix(
neuralNetwork.getInputCount(),
neuralNetwork.getInputBlockingFactor(), image.colorComponents())).toString();
image.save();
return 0.0f;
}
示例2: testNetwork
static float testNetwork(NeuralNetwork& neuralNetwork, const Image& image,
float noiseMagnitude, size_t iterations, size_t batchSize,
std::default_random_engine& engine)
{
float accuracy = 0.0f;
iterations = std::max(iterations, 1UL);
lucius::util::log("TestVisualization") << "Testing the accuracy of the trained network.\n";
for(size_t i = 0; i != iterations; ++i)
{
lucius::util::log("TestVisualization") << " Iteration " << i << " out of "
<< iterations << "\n";
ImageVector batch = generateBatch(image, noiseMagnitude,
batchSize, engine);
Matrix input = batch.convertToStandardizedMatrix(
neuralNetwork.getInputCount(),
neuralNetwork.getInputBlockingFactor(), image.colorComponents());
Matrix reference = generateReference(batch);
lucius::util::log("TestVisualization") << " Input: " << input.toString();
lucius::util::log("TestVisualization") << " Reference: " << reference.toString();
accuracy += neuralNetwork.computeAccuracy(input, reference);
}
return accuracy * 100.0f / iterations;
}
示例3: trainNetwork
static void trainNetwork(NeuralNetwork& neuralNetwork, const Image& image,
float noiseMagnitude, size_t iterations, size_t batchSize,
std::default_random_engine& engine)
{
lucius::util::log("TestVisualization") << "Training the network.\n";
for(size_t i = 0; i != iterations; ++i)
{
lucius::util::log("TestVisualization") << " Iteration " << i << " out of "
<< iterations << "\n";
ImageVector batch = generateBatch(image, noiseMagnitude,
batchSize, engine);
Matrix input = batch.convertToStandardizedMatrix(
neuralNetwork.getInputCount(),
neuralNetwork.getInputBlockingFactor(), image.colorComponents());
Matrix reference = generateReference(batch);
lucius::util::log("TestVisualization") << " Input: " << input.toString();
lucius::util::log("TestVisualization") << " Reference: " << reference.toString();
neuralNetwork.train(input, reference);
}
}