diff --git a/Makefile b/Makefile index 2272ceb..fea9236 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ CONFIG ?= release BUILD_DIR := ./build/${CONFIG} -GPP_SRCS := main.cpp Rbm.cpp Layer.cpp Stack.cpp +JUCE_ROOT := ../JUCE-3.1.1 + +GPP_SRCS := Main.cpp Rbm.cpp Layer.cpp Stack.cpp MainComponent.cpp GPP_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(GPP_SRCS))) GCC_SRCS := noise.c GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS))) @@ -17,7 +19,8 @@ CFLAGS := CFLAGS_debug := ${CFLAGS} -O0 -g CFLAGS_release := ${CFLAGS} -O2 -LIBS := -lstdc++ -lm -larmadillo -ljsoncpp -lfreetype -lpthread -ldl -lrt -lX11 -lGL -lXinerama -lXext -ljuce +INCLUDES := -I${JUCE_ROOT} -Ijuce +LIBS := -lstdc++ -lm -larmadillo -ljsoncpp -ljuce -lfreetype -lpthread -ldl -lrt -lX11 -lGL -lXinerama -lXext DEFINES := -DARMA_OPENMP_THREADS=1 all: ${BUILD_DIR}/rbm.elf @@ -30,8 +33,10 @@ ${GCC_OBJS}: $(BUILD_DIR)/%.o : source/%.c mkdir -p $(dir $@) gcc ${CFLAGS_${CONFIG}} ${DEFINES} ${INCLUDES} -o $@ -c $< -${BUILD_DIR}/rbm.elf: ${GPP_OBJS} ${GCC_OBJS} - gcc ${LFLAGS_${CONFIG}} ${GPP_OBJS} ${GCC_OBJS} -o $@ ${LIBS} +${BUILD_DIR}/rbm.elf: ${GPP_OBJS} ${GCC_OBJS} juce/build/${CONFIG}/libjuce.a + gcc ${LFLAGS_${CONFIG}} ${GPP_OBJS} ${GCC_OBJS} ${LIBS} -o $@ +juce/build/${CONFIG}/libjuce.a: + make -C juce clean: rm -rf ${BUILD_DIR}/* \ No newline at end of file diff --git a/source/Layer.hpp b/source/Layer.hpp index 0c92f26..9ae4fc6 100644 --- a/source/Layer.hpp +++ b/source/Layer.hpp @@ -43,6 +43,20 @@ public: return m_id; } + int numVisibleX() + { + return m_numVisibleX; + } + + int numVisibleY() + { + return m_numVisibleY; + } + + int numHidden() + { + return m_bh.n_elem; + } private: const std::string &m_name; std::string m_weightsFile; diff --git a/source/Rbm.hpp b/source/Rbm.hpp index b7fb1ed..344da56 100644 --- a/source/Rbm.hpp +++ b/source/Rbm.hpp @@ -123,7 +123,7 @@ public: virtual ~Rbm(); void weightsInit(double stddev, double mu=0.0); - void train(arma::mat const &batch, IListener *pListener); + void train(arma::mat const &batch, IListener *pListener=nullptr); arma::mat toHiddenState(const arma::mat &visible) const; arma::mat toVisibleState(const arma::mat &hidden) const; diff --git a/source/Stack.hpp b/source/Stack.hpp index d85cf62..c7264cb 100644 --- a/source/Stack.hpp +++ b/source/Stack.hpp @@ -38,6 +38,10 @@ public: bool loadWeights(); bool saveWeights(); + void batchchanged() + { + std::cout << "Stack::batchchanged() called" << std::endl; + } private: const std::string &m_prjname; Layer *m_pLayers;