Installation
# Installation Guide
This guide provides detailed instructions on how to set up the Ensemble Genetic Algorithm project. You can choose between a manual installation or using the provided setup script.
## Prerequisites
Before you begin, ensure you have the following installed on your system:
Python: Version 3.10 or higher.
Git: For cloning the repository.
(Optional) NVIDIA GPU with CUDA: If you plan to use GPU-accelerated computations, ensure you have a compatible NVIDIA GPU and the CUDA Toolkit installed.
## Manual Installation
If you prefer to set up the environment manually, follow these steps. This project uses pyproject.toml to manage its dependencies.
Clone the repository:
`bash git clone https://github.com/SamoraHunter/ensemble_genetic_algorithm.git cd ensemble_genetic_algorithm `Create and activate a virtual environment: It is highly recommended to use a virtual environment to manage project dependencies.
`bash python3 -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate` `Install dependencies: Install the project and its core dependencies using pip. The dependencies are defined in pyproject.toml.
`bash pip install . `To install with optional dependencies for development (e.g., testing tools, documentation tools), use:`bash pip install .[dev] `If you need GPU support and have the necessary CUDA setup, you would typically install torch with CUDA support manually or via the setup.sh –gpu option. The pyproject.toml currently lists torch==2.0.1 as a core dependency, which might default to a CPU version depending on your pip configuration.
## Using the Setup Script (Alternative)
The project includes a comprehensive setup.sh script that automates the creation of a dedicated Python virtual environment and installs all necessary dependencies, including specific PyTorch versions for CPU or GPU.
Clone the repository:
`bash git clone https://github.com/SamoraHunter/ensemble_genetic_algorithm.git cd ensemble_genetic_algorithm `Run the setup script: Make the script executable and then run it.
`bash chmod +x setup.sh ./setup.sh `This will create a virtual environment named ga_env, install the default dependencies from pyproject.toml, and set up a Jupyter kernel. The environment will be activated for your current terminal session.
### Installation Options with setup.sh
The setup.sh script supports different installation profiles. You can specify one using command-line flags:
./setup.sh –cpu: Installs the CPU-only version of PyTorch. Ideal for systems without a dedicated GPU.
./setup.sh –gpu: Installs dependencies with GPU support (requires a compatible NVIDIA GPU and CUDA toolkit). This option will attempt to install the CUDA-enabled PyTorch.
./setup.sh –dev: Installs all development dependencies, including tools for testing, linting, and documentation.
./setup.sh –all: Installs everything, combining GPU and development dependencies.
./setup.sh –force: Forces the recreation of the virtual environment if it already exists.
To see all available options, run:
`bash
./setup.sh --help
`
## Activating the Environment
The setup.sh script activates the ga_env environment for your current terminal session. For future sessions, or if you installed manually into .venv, you can activate it manually:
`bash
source ga_env/bin/activate # If using setup.sh
source .venv/bin/activate # If using manual installation with .venv
`