代码拉取完成,页面将自动刷新
同步操作将从 ZzqiZQute/BPNNDemoQt 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef NETWORK_H
#define NETWORK_H
#include <iostream>
class BPNetwork
{
public:
enum TYPE{
REGRESSION,NORMAL
};
BPNetwork(int inputNodeCnt, int outputNodeCnt);
virtual ~BPNetwork();
int inputNodeCnt() const;
void setInputNodeCnt(int inputNodeCnt);
int outputNodeCnt() const;
void setOutputNodeCnt(int outputNodeCnt);
int hiddenLayerCnt() const;
void setHiddenLayer(int hiddenLayerCnt,...);
void setHiddenLayer(int hiddenLayerCnt,int value[]);
void setSampleDim(int sampleDim);
void setInput(int n,double* input);
void setOutput(int n,double* output);
void randWeight();
void bp();
void fp();
void reset();
double getLearnRate() const;
void setLearnRate(double learnRate);
int getTrainCnt() const;
void resetTrainCnt();
virtual void trainByTime(int);
virtual void trainByErr(double);
virtual void trainByErrM(int);
void test(double* input);
int getType() const;
void setType(TYPE type);
bool checkSample();
double train();
void copyWeightAndBias(BPNetwork* other);
void copyInit(BPNetwork* other);
double *getTestOutput() const;
double getTestOutput(int);
int *getHiddenNodeCnt() const;
private:
int mInputNodeCnt=0;
int mOutputNodeCnt=0;
int mHiddenLayerCnt=0;
int mSampleDim=0;
double mLearnRate=1;
double err=0.01;
int* mHiddenNodeCnt=nullptr; //隐层节点数
double ***mWeight;
double **mHiddenIn;
double **mHiddenOut;
double **mHiddenTmp;
double **mInput;
double *mInputTmp;
double *mOutputTmp;
double **mOutput;
double *mOutputIn;
double *mActualOutput;
double *mErr;
double *mTestOutput;
double **mBias;
TYPE mType=REGRESSION;
int mTrainCnt=0;
double mTotalError=0;
//double (*activeFunc)(int,double);
double activeFunc(double,int);
virtual void exception(std::string ex="Default Exception");
void calcErr();
double getError();
};
#endif // NETWORK_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。