Конда слишком медленная? Попробуйте Мамбу!

Проблемы с медленной кондой? Опробуйте Мамбу!

Ретро доставка посылок. Фото от Charlie M на Unsplash

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

Менеджеры пакетов используются для распространения библиотек программного обеспечения. Популярные менеджеры пакетов включают conda, pip и mamba.

Определенно стоит попробовать mamba, так как я смог установить большое окружение в 10 раз быстрее через mamba по сравнению с conda!

В этой статье я покажу вам, как достичь этого ускорения. Я расскажу о следующем:

  • Как создать окружение
  • Менеджеры пакетов и окружений conda и mamba
  • Сравнение их скорости
  • libmamba: ускорение mamba внутри conda?

Программное окружение

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

Образец файла окружения выглядит следующим образом, взятого из одного из моих репозиториев на GitHub по адресу https://github.com/crlna16/ai4foodsecurity:

name: ai4foodsecuritychannels:  - conda-forge  - defaults  - pytorch  - nvidiadependencies:  - pandas==1.0.1  - geopandas==0.8.2  - rasterio==1.1.8  - matplotlib==3.3.2  - tensorboard==2.4.0  - sentinelhub==3.3.2  - pytorch==1.9.0  - torchvision==0.10.0  - numpy==1.19.5  - sh==1.14.2  - radiant-mlhub==0.3.0  - ipykernel=5.3.4  - 'cudatoolkit=11.1'

Системы управления пакетами могут использоваться для создания окружений из таких файлов.

Системы управления пакетами

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