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

📄 network.h

📁 几种神经网络的源程序
💻 H
字号:
#ifndef _NETWORK_H#define _NETWORK_H#include "Neuron.h"#include "InputNeuron.h"#include "Link.h"#include <vector>#include <string>namespace annie{/** Another core class of the annie library, a generic template for a neural network.  * This class is not instantiable itself. Different types of networks must be derived  * from this class.  *  * The common information held by each network is the number of inputs (i.e.,  * values that are obtained from the environment), the number of outputs (i.e.,  * values that are given to the environment) and a string of meta data than can  * be used by users as pleased.  * \todo The copy constructor  */class Network{protected:	/** Number of inputs taken in by the network.	  * There should be these many InputNeurons in the network	  */	uint _nInputs;	/// Number of outputs given by the network	uint _nOutputs;	/// A string of meta data, can be used by users as pleased	std::string _metaData;public:	/** Default constructor.	  *	  * @param inputs Number of inputs taken in by the network	  * @param outputs Number of outputs given out by the network	  */	Network(int inputs,int outputs);	/** Copy constructor. NOT YET IMPLEMENTED */	Network(Network &);	virtual ~Network();	/** The output of the network given a stimulus	  *	  * Note that instantiable sub-classes of Network <em>must</em>	  * define this function. How the network determines the output	  * given the input is what characterizes it.	     * @param input The input given to the network, a Vector of size getInputCount()	  * @return The corresponding output vector (size = getOutputCount())	  */	virtual Vector getOutput(const Vector &input)=0;	/** Wrapper function, calls getOutput(Vector &input) */	virtual Vector getOutput(real *input);	/** Sets the meta data of the network	  * Meta data is arbitrary text that you may want to tag the network	  * with. This has no effect on the network output etc	  */	virtual void setMetaData(const char *metaData);	/** Sets the meta data of the network	  * Meta data is arbitrary text that you may want to tag the network	  * with. This has no effect on the network output etc	  */	virtual void setMetaData(std::string metaData);	/// Returns the meta data string	virtual std::string getMetaData();	/// Number of inputs taken in by the network	virtual uint getInputCount() const;	/// Number of outputs given by the network	virtual uint getOutputCount() const;	/** For reflection.	  * All sub-classes MUST implement this method, which should	  * just return class name	  */	virtual const char* getClassName() const =0;	/// Finds the name of the network class from the given file	static std::string getNetworkClassName(const char *filename);	/** Save the network structure to the given text file.	  * The file format is quite simple and is commented.	  * @param filename Name of the file to save network information into	  */	virtual void save(const std::string &filename)=0;};}; //namespace annie#endif // define _NETWORK_H

⌨️ 快捷键说明

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