📄 neuro_c.h
字号:
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details */#ifndef _NEURO_C_H#define _NEURO_C_H#include <dnpap.h>#include <boolset.h>#include <timer.h>#include <snmp.h>#include "neuro_k.h"#define NEURO_BOOLEAN_OWNER 2enum TRAINMETHODS { NEURO_NOTRAIN = 1, NEURO_TRAIN, NEURO_RETRAIN, NEURO_BATCH, LAST_TRAINMETHOD = NEURO_BATCH};enum AVERAGEMETHODS { SIMPLE_DIFF = 1, SIMPLE_VALUE, MEAN_DIFF, MEAN_VALUE, HARMONIC_DIFF, HARMONIC_VALUE, LAST_AVERAGEMETHOD = HARMONIC_VALUE};enum THRESHOLDCHECKS { NO_THRESHOLD = 1, LESS_THAN, GREATER_THAN, IN_RANGE, OUT_RANGE, EQUAL, NOT_EQUAL, LAST_THRESHOLDCHECK = NOT_EQUAL}; #define MAXNRLAYERS 5#define MAXNRNEURONS 100#define MAXNRPATTERNS 10000#define MAXNRSTEPS 5#define MAXNRTHRESHOLDVALUES 2 typedef struct InOutData_{ LONG Id[SNMP_SIZE_OBJECTID]; WORD IdLen; FLOAT PrevValue; FLOAT TheValue; FLOAT Value[MAXNRSTEPS]; LONG MaxValue; LONG MinValue; LONG AverageMethod; LONG AverageSteps; BOOLEAN Trap; BYTE TrapComm[SNMP_SIZE_COMM]; WORD TrapCommLen; LONG ThresholdCheck; FLOAT ThresholdValue[MAXNRTHRESHOLDVALUES];} InOutData;typedef struct InOutBatch_{ FLOAT TheValue;} InOutBatch;typedef struct NeuroData_ NeuroData;struct NeuroData_{ LONG NrLayers; LONG NrNeurons[MAXNRLAYERS]; NeuronNet *Net; /* pointer to neural network */ ULONG NetRefresh; InOutData *InputData; InOutData *TargetData; LONG RequestedSize; LONG GrantedSize; LONG BatchSize; LONG BatchIndex; InOutBatch *InputBatch; InOutBatch *TargetBatch; FLOAT *OutputValue; InOutput *In; InOutput *Out; InOutput *Target; LONG Train; FLOAT LearningRate; FLOAT Momentum; ULONG TotalSteps; ULONG TrainSteps; FLOAT BatchError; FLOAT Error; BYTE Owner[SNMP_SIZE_BUFCHR]; WORD OwnerLen; LONG Status; TIMER_DESCR *Timer; BooleanSet ObjectSet;};BOOLEAN NeuroCInit(NeuroData* data);BOOLEAN NeuroCStart(NeuroData* data, TIMER_CALLBACK callback, VOID* param, ULONG msecs);BOOLEAN NeuroCStop(NeuroData* data);BOOLEAN NeuroCChangeTimer(NeuroData* data, ULONG msecs);INT NeuroThresholds(InOutData *data);NeuroData* NewNeuroData(VOID);VOID DelNeuroData(NeuroData* data);InOutData* NewInOutData(LONG nrinouts);InOutData* ReNewInOutData(InOutData* data, LONG nrinouts, LONG prvnrinouts);VOID InOutDataInit(InOutData* data);VOID DelInOutData(InOutData* data);InOutBatch* NewInOutBatch(LONG nrinouts);InOutBatch* ReNewInOutBatch(InOutBatch* data, LONG nrinouts, LONG prvnrinouts);VOID InOutBatchInit(InOutBatch* data);VOID DelInOutBatch(InOutBatch* data);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -