NO HACER FORK!
Primero, crearse un repo en algún otro lugar. Luego, clonar este repo de la siguiente manera:
git clone git@github.com:finiteautomata/metnum-tp2-20192c.git
Cambiar el repositorio al que hayamos creado
git remote remove origin
git remote add origin <nuestra-nueva-url-de-git>
Listo. Ya pueden disfrutar del TP2
En data/
tenemos que descomprimir el dataset de IMDB, que lo pueden bajar de acá
En src/
está el código de C++, en particular en src/sentiment.cpp
está el entry-point de pybind.
En notebooks/
hay ejemplos para correr partes del TP usando sklearn y usando la implementación en C++.
curl https://pyenv.run | bash
export PATH="/home2/clinux01/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Luego, se sugiere agregar unas líneas al bashrc. Hacer eso, REINICIAR LA CONSOLA y luego...
pyenv install 3.6.5
pyenv global 3.6.5
pyenv virtualenv 3.6.5 tp2
En el directorio del proyecto
pyenv activate tp2
python3 -m venv tp2
source tp2/bin/activate
conda create --name tp2 python=3.6.5
conda activate tp2
pip install -r requirements.txt
cd notebooks
jupyter lab
o notebook
jupyter notebook
Ejecutar la primera celda del notebook knn.ipynb
o seguir los siguientes pasos:
Necesitamos bajar las librerías pybind
y eigen
(el "numpy" de C++), para eso bajamos los submódulos como primer paso.
Versión de Python >= 3.6.5
Para bajar submódulos ejecutar:
git submodule init
git submodule update
- Compilar el código C++ en un módulo de python
mkdir build
cd build
rm -rf *
cmake -DPYTHON_EXECUTABLE="$(which python)" -DCMAKE_BUILD_TYPE=Release ..
- Al ejecutar el siguiente comando se compila e instala la librería en el directorio
notebooks
make install
- Compilar la librería
cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make clean && make && make install
- Correr clasificación sobre sample
python bin/classify.py data/test_sample.csv data/test_sample.out
- Correr evaluación
python bin/evaluate.py data/test_sample.out data/test_sample.true