libcm is a C development framework with an emphasis on audio signal processing applications.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

cmRbm.h 935B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef cmRbm_h
  2. #define cmRbm_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. //( { file_desc:"Restricted Bolzmann Machine object." kw:[model] }
  7. enum
  8. {
  9. kOkRbmRC = cmOkRC,
  10. kInvalidParmRbmRC,
  11. kStackFailRbmRC,
  12. kMonitorWrFailRbmRC
  13. };
  14. typedef cmHandle_t cmRbmH_t;
  15. typedef cmRC_t cmRbmRC_t;
  16. extern cmRbmH_t cmRbmNullHandle;
  17. cmRbmRC_t cmRbmAllocate( cmCtx_t* ctx, cmRbmH_t* hp, const unsigned nodesPerLayer[], unsigned layerCnt );
  18. cmRbmRC_t cmRbmFree( cmRbmH_t* hp );
  19. bool cmRbmIsValid( cmRbmH_t h );
  20. cmRbmRC_t cmRbmConfigure( cmRbmH_t h, const unsigned nodesPerLayerV[], unsigned layerCnt );
  21. typedef struct
  22. {
  23. double maxX;
  24. double minX;
  25. double initW;
  26. double eta; // learning rate
  27. double holdOutFrac;
  28. unsigned epochCnt;
  29. unsigned batchCnt;
  30. double momentum;
  31. } cmRbmTrainParms_t;
  32. void cmRbmBinaryTest(cmCtx_t* ctx);
  33. //)
  34. #ifdef __cplusplus
  35. }
  36. #endif
  37. #endif