2. Установка и настройка окружения

2. Установка и настройка окружения

Перед использованием EvoX необходимо правильно установить программное обеспечение и его зависимости. В этой главе рассматриваются шаги по установке как для Windows, так и для Linux, а также способы подготовки и настройки необходимых зависимостей. Перед установкой убедитесь, что ваша система соответствует базовым требованиям: Python 3.10+, достаточное дисковое пространство и, опционально, поддерживаемый GPU с соответствующим драйвером.

Зависимости и подготовка

  • Окружение Python: EvoX построен на Python, поэтому убедитесь, что установлен Python 3.10 или выше. Рекомендуется использовать виртуальное окружение (например, venv), чтобы избежать конфликтов зависимостей.

  • PyTorch: EvoX использует PyTorch для тензорных операций и аппаратного ускорения. Поэтому PyTorch должен быть установлен перед установкой EvoX. Выберите версию в зависимости от вашего оборудования: установите версию с CUDA, если у вас есть NVIDIA GPU, версию с ROCm для AMD GPU или версию для CPU, если GPU недоступен. Обратитесь к официальному руководству PyTorch за соответствующей командой, например:

    # For NVIDIA GPUs (CUDA)
    pip install torch torchvision torchaudio
    
    # For AMD GPUs (ROCm)
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2.4
    
    # For CPU-only
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

Перед установкой рекомендуется обновить pip до последней версии и обеспечить стабильное интернет-соединение (пакеты будут загружены из PyPI). Как только окружение будет готово, вы сможете установить EvoX.

Установка на Windows

Пользователи Windows могут выбрать автоматическую установку с помощью скрипта или ручную установку. Официальный установщик в один клик обеспечивает простой способ настройки EvoX и его зависимостей в чистом окружении, но ручная установка дает больше контроля.

Вариант 1: Использование скрипта установки в один клик (win-install.bat) EvoX предоставляет скрипт быстрой установки для Windows 10/11 (64-бит). Скрипт устанавливает Miniforge3 (легковесная версия Conda), Python, PyTorch (с CUDA), EvoX и полезные инструменты, такие как VSCode и Git. Порядок действий:

  1. Скачайте win-install.bat из документации EvoX или с GitHub. Убедитесь, что у вас установлен драйвер NVIDIA и имеется стабильное интернет-соединение.
  2. Запустите скрипт. Он не требует прав администратора, но может запросить разрешение во время выполнения — разрешите его. Скрипт установит и настроит все автоматически.
  3. Дождитесь завершения. В случае успеха вы увидите сообщение и, возможно, откроется VSCode. EvoX и его зависимости будут установлены.

Примечание: Если скрипт завершился с ошибкой из-за проблем с сетью, закройте его и запустите снова. Он поддерживает возобновление работы после сбоя.

Вариант 2: Ручная установка Чтобы установить EvoX вручную:

  1. Установите драйвер GPU: Установите последнюю версию драйвера NVIDIA с официального сайта. Если у вас нет дискретного GPU, пропустите этот шаг.

  2. Установите Python: Скачайте Python 3.10+ для Windows и при установке активируйте опцию «Add Python to PATH».

  3. Установите PyTorch: Откройте CMD или PowerShell и установите PyTorch в зависимости от вашего оборудования:

    pip install torch torchvision torchaudio
  4. (Опционально) Установите компилятор Triton: В PyTorch на Windows отсутствует поддержка Triton. Если вы хотите использовать torch.compile (доступно в PyTorch 2.0), установите сторонний triton-windows. Это необязательно, но полезно для оптимизации производительности.

  5. Установите EvoX:

    pip install "evox[default]"
    
    # Optional extras:
    pip install "evox[vis]"           # Visualization support
    pip install "evox[neuroevolution]" # Neuroevolution support

`> Примечание:

Некоторые пакеты могут потребовать дополнительных системных зависимостей. В этом случае установщик выдаст сообщение следующего вида:

error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

Если вы столкнулись с такими сообщениями, следуйте предоставленным инструкциям по установке необходимых зависимостей, прежде чем продолжить.



### Установка на Linux

Установка EvoX на Linux (например, Ubuntu) проста и в основном выполняется через `pip`.

1. **Установите системные зависимости**: Убедитесь, что установлены базовые инструменты разработки и Python 3.10+. Вы можете использовать менеджер пакетов (apt, yum) или Anaconda.

2. **Установите драйвер GPU** (если используется GPU): Используйте соответствующий менеджер пакетов (например, `apt`) для установки драйверов NVIDIA. Проверьте установку с помощью `nvidia-smi`. Пропустите, если используете CPU.

> **Примечание:**
> В WSL **не устанавливайте** драйверы NVIDIA внутри подсистемы Linux — устанавливайте их на стороне Windows.

> **Совет:**
> Весьма вероятно, что вам нужно установить только драйвер, и НЕ нужно устанавливать CUDA или другие зависимости.
> Эти библиотеки уже включены в установку PyTorch через pip.

> **Совет:**
> Требуемая версия драйвера зависит от вашего оборудования. Если у вас современный NVIDIA GPU, использование последней версии драйвера часто является лучшим выбором.
> Для обеспечения лучшей совместимости и доступа к последним драйверам обычно рекомендуется использовать более новый дистрибутив Linux (например, Ubuntu 25.04 вместо 22.04).

1. **Установите PyTorch**: Как и в Windows, устанавливайте в зависимости от оборудования. Обратитесь к [официальному руководству PyTorch](https://pytorch.org).

2. **Установите EvoX**:

 ```bash
 pip install evox
 ```

 Или с дополнениями:

 ```bash
 pip install evox[vis,neuroevolution]
 ```

 Это установит модули визуализации и зависимости для нейроэволюции (например, Brax). Вы также можете выбрать отдельные дополнения, такие как `vis` или `neuroevolution`.

#### Установка в контейнере (Docker, Podman)

Для пользователей AMD GPU или тех, кто ищет изоляцию окружения, рекомендуется Docker. Например, использование официального Docker-образа PyTorch с ROCm:

```bash
docker run -it --gpus all --shm-size=8g rocm/pytorch:latest
```

Внутри контейнера установите EvoX как обычно с помощью `pip`.

## Проверка установки EvoX

Чтобы убедиться, что EvoX установлен правильно:

- **Базовая проверка**: В терминале или оболочке Python выполните:

```python
from torch.utils.collect_env import get_pretty_env_info
import evox
print(get_pretty_env_info())
```

Это выведет информацию о конфигурации PyTorch и системы. Если EvoX импортируется без ошибок, установка прошла успешно. Вы также можете проверить версию:

```python
import evox
print(evox.__version__)
```

- **Дополнительные настройки**: Вы можете настроить параметры, связанные с производительностью, такие как:

- Установка переменных окружения, таких как `OMP_NUM_THREADS`, для управления количеством потоков CPU
- Увеличение объема разделяемой памяти Docker с помощью `--shm-size`
- Проверка того, что ваша IDE (Jupyter, PyCharm и т. д.) использует правильное окружение Python

Как только настройка будет завершена, вы будете готовы начать оптимизацию с помощью EvoX.