This project provides two modes to work with. The first mode requires a local installation of Miniconda/Conda with Python 3.10 and TensorFlow 2.11, and is used to run Python scripts that generate datasets, preprocess them, and train machine learning models headlessly. The second mode requires Docker to be installed, and provides a playground environment using Jupyter Notebooks, where you can analyze datasets and experiment with the code in a more interactive fashion.
To use this mode, you need to have Miniconda/Conda installed on your system with Python 3.10 and TensorFlow 2.11. You can download and install Miniconda from the official website: https://docs.conda.io/en/latest/miniconda.html.
Once you have installed Miniconda/Conda, you need to create a new environment for this project and activate it. Than install tensorflow using pip or from source (recommended for max performance).
To use this mode, you need to have Docker installed on your system. You can download and install Docker from the official website: https://www.docker.com/get-started.
.
├── dataset_preparation
│ └── generate_time_series_dataset.py
└── neural_networks
├── classification_frame.py
└── classification_time_series.py
for example: python dataset_preparation/generate_time_series_dataset.py
To start jupyter run start-jupyter.sh file, this script will use docker to pull and run tensorflow-jupyter-gpu or tensorflow-jupyter image from docker hub and it will also mount volumes from host system so container has access to /data and /models. This mechanism will let user keep all data generated by container after its destruction.
script supports --gpu argument for systems with NVIDIA cards installed
sh start-jupyter.sh --gpu
sh start-jupyter.sh
expected output looks like this.
[I 22:05:36.656 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 22:05:36.656 NotebookApp] http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
[I 22:05:36.656 NotebookApp] or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
[I 22:05:36.656 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 22:05:36.678 NotebookApp]
To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-1-open.html
Or copy and paste one of these URLs:
http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
^C[I 22:05:37.835 NotebookApp] interrupted
Serving notebooks from local directory: /tf
0 active kernels
Jupyter Notebook 6.5.2 is running at:
http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
Jupyter server from inside of container is exposed to host and can be found on 127.0.0.1:8888 TCP.