- (Linux) Extra libraries I had to install in order to install OpenCV:
sudo apt install libgtk2.0-dev pkg-config libcanberra-gtk-module libcanberra-gtk3-module
-
OpenCv. Installation instructions in : https://docs.opencv.org/master/df/d65/tutorial_table_of_content_introduction.html ( Install with opencv_contrib)
-
KFR. https://github.com/kfrlib/kfr.git. After downloading, link the directory with ln -s so that kfr is a subdirectory of the root folder
-
VLFeat. Clone from https://github.com/faturita/vlfeat and add the path to cmake/FindVLFeat.cmake
-
Tensorflow: Instructions from: https://reposhub.com/cpp/machine-learning/leggedrobotics-tensorflow-cpp.html
git clone https://github.com/leggedrobotics/tensorflow-cpp.git cd tensorflow-cpp/eigen install.sh --run-cmake #(from root) cd tensorflow-cpp/tensorflow mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=~/.local -DCMAKE_BUILD_TYPE=Release .. make install -j
I've run thesse commands using linux, Cmake however is supposed to be portable (at least in windows and linux), but I have not tried it on another platform yet.
For MAC installation, check the original repository on https://github.com/faturita/BciSift
export LD_LIBRARY_PATH=/usr/local/lib
- Export OpenCV_DIR variable:
export OpenCV_DIR=<path_of_opencv/build>
Also may have to export opencv for the linker:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/<path_of_opencv>/build/lib
- Build makefile with Cmake, and then run it
cmake -DCMAKE_CXX_COMPILER=clang++
make
- generatesignals: Genera 3000 imagenes de seniales aleatorias con picos falsos y las divide en train test y validation
- loadsignals: Abre un archivo csv con una senial, y genera un dataset de imagenes por cada uno de los canales. El formato de archivos es:
Donde el csv es el primer argumento y name es el segundo
- name - name.csv - channelsN - images - train - hit - miss - test - hit - miss - validation - hit - miss - model.pb
./BCISift ./input.csv inyectado_x3
- cnntrain: Recibe el nombre de un dataset. Tiene que estar en la carpeta data y tener una carpeta "images" adentro con la data ya organizada. Genera un model.pb adentro de la carpeta del dataset
- cnntest: Recibe el nombre de un dataset Tiene que estar en la carpeta data y tener una carpeta "images" adentro con la data ya organizada y un archivo con el nombre 'model.pb'. Corre predicciones en todas las imagenes de test
- signaltrain: Recibe el nombre de un dataset de tipo senial, con la organizacion descripta en el loadsignal. Entrena los 8 canales por separado y genera un modelo para cada canal