使用conda配置深度学习开发环境
使用conda配置环境的步骤:
1、安装anaconda
2、在conda的base环境中创建并激活虚拟环境
3、安装依赖
4、如果先要在虚拟环境中使用jupyter notebook,需要安装notebook核心
1、什么是依赖冲突?
依赖冲突通常发生在项目中使用了不同版本的库或包,而这些库之间可能存在不兼容的情况。比如,你的一个项目需要某个库的 v1.0 版本,而另一个项目需要该库的 v2.0 版本,这时它们在同一环境中可能会导致冲突。常见的依赖冲突场景包括:
- 同时安装了多个版本的同一个库。
- 项目中的某个库依赖于另一个库的不同版本,产生不兼容问题。
在Python编程实践中,会为每个项目创建独立的虚拟环境,从而隔离各自的库和依赖版本。
2、什么是虚拟环境?
Python的虚拟环境:Python的虚拟环境是一个隔离的运行环境,它允许每个项目拥有自己独立的依赖包和库,而不会影响到其他项目。
当我们使用pip install package_name 命令安装第三方库时,pip 会将下载的包解压并安装到系统全局的site-packages 目录中,如果安装的库存在依赖冲突,则可能会导致安装失败或程序运行错误。
使用虚拟环境时,项目的依赖库安装在虚拟环境的site-packages目录中,而不是全局系统环境,从而避免了多个项目之间的依赖冲突,然后可以在该环境下安装特定的依赖包。
使用pip show package_name命令查看已安装包的详细信息,包括依赖关系。
较常用的Python虚拟环境解决方案包括Python自带的venv和poetry。
conda的虚拟环境:
Conda 是一个跨平台的包管理器和环境管理工具,特别适合处理不仅仅是Python的多语言依赖。与Python虚拟环境不同,Conda 不仅可以管理Python依赖,还支持管理其他语言的库,比如R、C++等。使用Conda创建虚拟环境非常简单,并且可以指定需要安装的Python版本和包。Conda虚拟环境在科学计算和数据科学领域特别流行,因为它能轻松管理复杂的依赖关系,且支持在环境中安装包括NumPy、Pandas等在内的各种科学计算库。
深度学习通常需要多个库和工具的集成,像PyTorch、CUDA、cuDNN等,它们的版本和兼容性要求非常复杂。Conda可以非常方便地管理和安装CUDA和cuDNN等依赖包,并确保这些包与特定的深度学习框架版本兼容,无需手动配置或处理复杂的安装问题。
我们将使用conda来配置深度学习开发环境。
3、安装anaconda
登录anaconda官方网站:https://www.anaconda.com/download



4、使用conda创建虚拟环境
点击Environments(环境)

点击base(root)(基础环境,conda命令安装在基础环境中),进入conda基础环境

在conda基础环境中创建虚拟环境:
conda create -n your_env_name
命令解释:
- conda:这是调用 Conda 命令行工具的命令。
- create:这是 Conda 工具的一个子命令,用于创建新的环境。
- -n:这是指定新环境名称的选项。在 Conda 中,-n 选项后面通常跟着环境的名称。
- your_env_name:这是你为新环境指定的名称。你可以根据自己的喜好和项目需求来命名环境。

输入y,确认创建虚拟环境:

激活我们刚刚创建的虚拟环境:
conda activate your_env_name

激活后,提示符前面的圆括号变成我们的虚拟环境名。
使用conda安装Python:
conda install python
然后按y确认
可以指定Python版本:conda install python=3.10,如果不指定,则安装最新版本。

如果我们不想每次创建新的虚拟环境都安装一遍Python(或者其他依赖的库),我们可以在创建虚拟环境时,从已有的虚拟环境克隆依赖。
conda create --n <新环境名> --clone <旧环境名>
5、安装深度学习相关依赖
安装pytorch
打开pytorch官方网站:https://pytorch.org/
下拉到Install PyTorch部分:
情况一:没有显卡

按如图所示选择,复制图中命令:conda install pytorch torchvision torchaudio cpuonly -c pytorch
在我们刚刚创建的虚拟环境中安装:

情况二:有英伟达显卡
首先到英伟达官方网站安装显卡驱动
然后使用nvidia-smi查看cuda版本:

根据相应的CUDA版本安装pytorch:

复制图中命令安装:

6、安装jupyter notebook内核
为了能够在jupyter notebook中使用该虚拟环境,我们还需要安装ipykernel并将其注册为一个可用的内核:
方法一:将所有的conda虚拟环境注册到jupyter notebook,如果你只使用jupyter notebook进行开发,推荐使用这种方法
激活base环境:
conda activate base
在base环境中安装ipykernel:
conda install nb_conda_kernels
方法二:仅将我们刚刚创建的your_env_name虚拟环境注册到jupyter notebook
激活your_env_name虚拟环境:
conda activate your_env_name
安装ipykernel:
conda install ipykernel
将虚拟环境注册到jupyter notebook,可以将--name=your_env_name换成你想要的名字
ipython kernel install --user --name=your_env_name
7、使用jupyter notebook进行开发
打开upyter notebook,选择新建:

选择我们刚刚安装的jupyter notebook核心:
