⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer.cpp

📁 基于VC开发的神经网络工具箱
💻 CPP
字号:
#include "../include/Layer.h"
#include "../include/Exception.h"

using namespace std;

namespace annie
{

const int Layer::MAX_LAYER_SIZE = MAX_NEURONS_IN_LAYER;

Layer::Layer(int label)
{
	_size = 0;
	_label = label;
}

Layer::~Layer()
{
	vector<Neuron *>::iterator it;
	while (!_neurons.empty())
	{
		it = _neurons.begin();
		delete *it;
		it = _neurons.erase(it);
	}
}

VECTOR
Layer::getActivation()
{
	VECTOR answer;
	vector<Neuron *>::iterator it;
	for (it = _neurons.begin(); it!=_neurons.end(); it++)
	{
		Neuron *n = (Neuron *)(*it);
		answer.push_back(n->getActivation());
	}
	return answer;
}

VECTOR
Layer::getOutput()
{
	VECTOR answer;
	vector<Neuron *>::iterator it;
	for (it = _neurons.begin(); it!=_neurons.end(); it++)
	{
		Neuron *n = (Neuron *)(*it);
		answer.push_back(n->getOutput());
	}
	return answer;
}

Neuron &
Layer::getNeuron(int i)
{
	if (i<0 || i>=getSize())
	{
		string error(getClassName());
		error = error + "::getNeuron() - Invalid index specified";
		throw Exception(error);
	}
	return *(_neurons[i]);
}

int
Layer::getSize()
{	return _size;	}

int
Layer::getLabel()
{	return _label;	}

void
Layer::addNeuron(Neuron *nrn)
{
	_neurons.push_back(nrn);
	_size++;
}

const char *
Layer::getClassName()
{	return "Layer";	}

}; //namespace annie

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -