流行的软件包管理器比较
无论何时,每个数据科学家和机器学习工程师都会遇到软件包管理器和环境。环境包含运行项目代码所需的库。开发人员可以在同一台机器上创建多个环境,可以为不同的项目维护不同的环境。软件不是安装在系统范围内,而是包含在环境中。
软件包管理器用于分发软件库。流行的软件包管理器包括conda、pip和mamba。
非常值得尝试一下mamba,因为与conda相比,我能够通过mamba将一个大型环境安装速度提高了10倍!
在本文中,我将向您展示如何实现这种加速。我将讨论以下问题:
- 如何设置环境
- conda和mamba软件包和环境管理器
- 它们在速度方面的比较
- libmamba:在conda中的mamba加速?
软件环境
维护软件环境文件可以确保代码可以在不同平台上重现并执行。机器学习项目应始终包括所需软件包的列表及其版本号。如果将模型交给另一位开发人员或将其发送给客户,他们可以在本地复制环境。
示例环境文件如下,取自我的一个git存储库: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'
可以使用软件包管理系统从类似这样的文件创建环境。
软件包管理系统
有多种不同的方式可以创建环境并在其中安装软件包。我们将重点关注…