#ifndef cmRbm_h #define cmRbm_h #ifdef __cplusplus extern "C" { #endif enum { kOkRbmRC = cmOkRC, kInvalidParmRbmRC, kStackFailRbmRC, kMonitorWrFailRbmRC }; typedef cmHandle_t cmRbmH_t; typedef cmRC_t cmRbmRC_t; extern cmRbmH_t cmRbmNullHandle; cmRbmRC_t cmRbmAllocate( cmCtx_t* ctx, cmRbmH_t* hp, const unsigned nodesPerLayer[], unsigned layerCnt ); cmRbmRC_t cmRbmFree( cmRbmH_t* hp ); bool cmRbmIsValid( cmRbmH_t h ); cmRbmRC_t cmRbmConfigure( cmRbmH_t h, const unsigned nodesPerLayerV[], unsigned layerCnt ); typedef struct { double maxX; double minX; double initW; double eta; // learning rate double holdOutFrac; unsigned epochCnt; unsigned batchCnt; double momentum; } cmRbmTrainParms_t; void cmRbmBinaryTest(cmCtx_t* ctx); #ifdef __cplusplus } #endif #endif