diff --git a/2019-10-08-Journal.txt b/2019-10-08-Journal.txt new file mode 100644 index 0000000000000000000000000000000000000000..17aeaa0b03fb9794b2278d4b1537add59e9f9cf7 --- /dev/null +++ b/2019-10-08-Journal.txt @@ -0,0 +1,99 @@ +Instalación MantaFlow en Ubuntu: + +* Instalar prerequesitos: + + sudo apt-get install cmake g++ git python3-dev qt5-qmake qt5-default + + - cmake: Herramienta para crear, testear y empaquetar software (compilador). + - g++: GNU C++, conjunto libre de compiladores C++ para Linux. + - python3-dev: Instalar / actualizar a la última versión de Python 3? + - qt5-qmake y qt5-default: QT5, crear GUIs multiplataforma. + +* Instalar librerías para el enviroment TensorFlow: + + pip install tensorflow-gpu keras numpy sklearn imageio scipy matplotlib h5py + + - tensorflow-gpu: soporte GPU para TensorFlow. + - keras: Biblioteca OpenSource de Redes Neuronales escrita en Python (corre encima de TensorFlow). Útil para lanzar prototipos de manera rápida. + - numpy: Soporte para cálculo vetorial y matricial en Python. + - sklearn: Scikit-learn, biblioteca Machine Learning para Python. + - imageio: Leer y escribir una amplia variedad de imaganes, videos y formatos de data científicos y volumétricos. + - scipy: Herramientas y algoritmos matemáticos para Python. + - matplotlib: Generación de gráficos a partir de datos para Python y Numpy. + - h5py: Interfaz Python para el formato de data binario HDF5. + + *IMPORTANTE* Las versiones utilizadas para crear MantaFlow son: TensorFlow 1.7.0, CUDA V9.0.176, CUDNN 7.0.5, Keras 2.1.6 + Será posible utilizar MantaFlow con versiones actualizadas de estas bibliotecas sin romper nada? Probar. + +* Crear directorio MantaFlow y copiar repositorio mediante Git: + + mkdir MantaFLow + cd MantaFlow + git clone https://bitbucket.org/mantaflow/manta.git + +* Construir el proyecto utilizando CMake, establecer un directorio "build", y seleccionar las opciones de compilación de CMake. + + mkdir manta/build + cd manta/build + cmake .. -DGUI=ON -DOPENMP=ON -DNUMPY=ON -DPYTHON_VERSION=3.6 + make -j4 + + - Opciones de CMake: + > GUI: Construye la versión GUI de QT. + > OPENMP: Activa la aceleración multicore mediante OpenMP. + > NUMPY: Soporte para arrays de Numpy como tipo de datos nativos en Kernels Manta. + > PYTHON_VERSION: Selecciona una versión específica de Python. Importante si hay varias versiones de Python instaladas al mismo tiempo. + > OPENVDB: Soporte para volúmenes openvdb. El comando save('data.vdb') guarda un archivo OpenVDB Volume para ser leido por Blender. (Render 3D para simus). + +Configurar PyCharm en Ubuntu: + +* Paquete Snap: + + sudo snap install pycharm-community --classic + +* Crear un entorno virtual con virtual env (Python 3.6). + +* Instalar requerimientos para el proyecto: + + - numpy + - scipy + - tensorflow + - tensorflow-gpu + - keras + - ipython + - jupyter + - six + - protobuf + - wheel + - sklearn + - imageio + - matplotlib + - h5py + +* Recrear los pasos para instalar MantaFlow, esta vez en el entorno virtual de PyCharm. + +Trabajar con MantaFlow para simular el paper: + +* Generar el dataset: + + ./build/manta scenes/dpfn_dataset.py --name=2D_liquid64 --dimension 2 --type liquid -n 1000 -s 100 -w 50 --seed 10 --resolution 128 --zoom 0.5 + + - El dataset se guarda en el directorio ./datasets/2D_liquid64/ + - + + + + + + + + + + + + + + + + +