Installation guide ================== To start, clone the repo: .. code-block:: bash git clone git@github.com:antonioterpin/jkonet-star.git .. tabs:: .. tab:: Docker Before proceeding, ensure Docker is installed on your machine. You can download Docker from the official site: `https://www.docker.com/ `_. Once Docker is installed and running, follow these steps to build the Docker image. Execute the following command from the root directory of the repository: .. code-block:: bash docker build -t jkonet-star-app . If you encounter any issues with the Docker build, please ensure that Docker is running and that you have the necessary permissions to execute Docker commands. You can also try to pull the ``python:3.12-slim`` image before building the ``jkonet-star-app`` image: .. code-block:: bash docker pull python:3.12-slim **Running JKOnet\* using Docker** After building the image, you can generate data and train models by executing the following commands: .. code-block:: bash # Generate population data docker run -v "$(pwd)/:/app" jkonet-star-app python data_generator.py --potential wavy_plateau --dataset-name test-wavy-plateau # Train the model on the generated dataset docker run -v "$(pwd)/:/app" jkonet-star-app python train.py --solver jkonet-star-potential --dataset test-wavy-plateau .. tab:: MacOS These steps have been tested on MacOS 13.2.1 and should also work on Ubuntu systems. Steps: 1. **Install Miniconda** Download and install Miniconda from the official website: `https://docs.conda.io/en/latest/miniconda.html `_. 2. **Create a Conda environment** Open a terminal and run the following commands to create and activate a new Conda environment: .. code-block:: bash conda create --name jkonet-star python=3.12 conda activate jkonet-star 3. **Install the required packages** Once the environment is activated, install the necessary dependencies: .. code-block:: bash pip install -r requirements.txt To install ``parallel`` (used for running the benchmarks), you can use the following command on MacOS: .. code-block:: bash brew install parallel 4. **Test the installation** You can generate data and train models by executing the following commands: .. code-block:: bash # Generate population data python data_generator.py --potential wavy_plateau --dataset-name test-wavy-plateau # Train the model on the generated dataset python train.py --solver jkonet-star-potential --dataset test-wavy-plateau .. tab:: Ubuntu These steps have been tested on Ubuntu systems. Steps: 1. **Install Miniconda** Download and install Miniconda from the official website: `https://docs.conda.io/en/latest/miniconda.html `_. 2. **Create a Conda environment** Open a terminal and run the following commands to create and activate a new Conda environment: .. code-block:: bash conda create --name jkonet-star python=3.12 conda activate jkonet-star 3. **Install the required packages** Once the environment is activated, install the necessary dependencies: .. code-block:: bash pip install -r requirements.txt To install ``parallel`` (used for running the benchmarks), you can use the following command on Ubuntu: .. code-block:: bash sudo apt-get install parallel 4. **Test the installation** You can generate data and train models by executing the following commands: .. code-block:: bash # Generate population data python data_generator.py --potential wavy_plateau --dataset-name test-wavy-plateau # Train the model on the generated dataset python train.py --solver jkonet-star-potential --dataset test-wavy-plateau .. tab:: Windows The following instructions are for Windows 11 users. Please note that Python 3.9 is required for compatibility. Steps: 1. **Install Miniconda** Download and install Miniconda from the official website: `https://docs.conda.io/en/latest/miniconda.html `_. 2. **Create a Conda environment** Run the following commands in your terminal to create and activate the environment with Python 3.9: .. code-block:: bash conda create --name jkonet-star python=3.9 conda activate jkonet-star 3. **Install the required packages** Once the environment is activated, install the necessary dependencies for Windows: .. code-block:: bash pip install -r requirements-win.txt 4. **Test the installation** You can generate data and train models by executing the following commands: .. code-block:: bash # Generate population data python data_generator.py --potential wavy_plateau --dataset-name test-wavy-plateau # Train the model on the generated dataset python train.py --solver jkonet-star-potential --dataset test-wavy-plateau .. note:: Due to maximum filename length limitations, please use the ``dataset-name`` argument. Using the automatically generated filenames might result in errors on Windows. .. note:: The installation instructions we provide are not GPU friendly. If you have a GPU, you can install the necessary packages for GPU support. Running the experiments on a GPU yields significant speedups, especially for the JKOnet\* full model (``jkonet-star``). We collected the training times on a RTX 4090.