本文整理汇总了C++中NeuralNetwork::getNumNeurons方法的典型用法代码示例。如果您正苦于以下问题:C++ NeuralNetwork::getNumNeurons方法的具体用法?C++ NeuralNetwork::getNumNeurons怎么用?C++ NeuralNetwork::getNumNeurons使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NeuralNetwork
的用法示例。
在下文中一共展示了NeuralNetwork::getNumNeurons方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write
void EssexWriter::write(NeuralNetwork &nn,ostream &os)
{
// Process layers
nn.setIndices();
nn.findLayers();
const int numNeurons=nn.getNumNeurons();
Array1D<int> layers(numNeurons);
computeLayers(nn,layers);
int outputLayer=0;
for(int i=0 ; i<numNeurons ; ++i)
if(layers[i]>outputLayer) outputLayer=layers[i];
// Generate output
os<<"(network\n";
for(int i=0 ; i<numNeurons ; ++i) {
Neuron &neuron=nn[i];
const int layer=layers[i];
bool isInput=layer==0, isOutput=layer==outputLayer;
os<<" (neuron "<<i<<" (layer "<<layers[i]<<")";
if(isInput) { os<<")"<<endl; continue; }
os<<" (transfer sigmoid)";
if(isOutput) os<<" (output)";
os<<" (value "<<neuron.getActivationValue()<<")";
const int inDeg=neuron.getInDegree();
if(inDeg>0) os<<endl;
for(int j=0 ; j<inDeg ; ++j) {
Synapse &synapse=neuron.getInput(j);
const int from=synapse.getFrom();
const float weight=synapse.getWeight();
os<<" (input (from "<<from<<") (weight "<<weight<<"))";
if(j+1<inDeg) os<<endl;
}
os<<")";
if(i+1<numNeurons) os<<endl;
}
os<<")\n"<<endl;
}