深度学习环境搭建

本文在于理清深度学习环境搭建中各项安装任务间的关系。

1.GPU的介绍

CPU是中央处理器,是计算机系统的主要处理器,负责执行大多数的计算和操作。CPU通常具有较高的时钟频率和较小的缓存大小,适合执行串行计算和控制流操作。

GPU是图形处理器,最初用于处理图形和视频渲染。GPU通常具有许多更小的处理器核心,每个核心可以同时执行多个线程,这使得GPU在执行大规模并行计算时表现更好。GPU通常用于加速科学计算、机器学习、图形渲染等任务。

在实践中,GPU通常被用作CPU的辅助处理器,用于执行需要大规模并行计算的任务,如科学计算、机器学习等。GPU可以处理大量的数据并行计算,并且通常比CPU更具成本效益。GPU通常用于执行大规模并行计算,而CPU则用于执行串行计算和控制流操作。

补充:串行计算和并行计算的特点

串行计算是指按照顺序逐步执行计算任务,每个计算步骤依赖于前一个计算步骤的结果。在串行计算中,只有一个处理器(如CPU)用于执行计算任务,计算任务按照线性顺序逐个完成。这种计算方式的特点是计算步骤之间存在依赖关系,每个计算步骤必须等待前一个计算步骤完成后才能开始执行,因此计算速度相对较慢。

并行计算是指同时使用多个处理器或计算资源来执行计算任务,将任务划分为多个子任务,并行地进行计算。在并行计算中,多个处理器可以同时执行不同的子任务,各个计算步骤可以并行进行。这种计算方式的特点是可以大大提高计算速度,特别适用于需要处理大量数据或进行复杂计算的任务。

2.cuda——GPU并行计算平台

CUDA是NVIDIA公司所开发的GPU编程模型,基于CUDA编程可以构建基于GPU计算的运用程序。(简单理解就是cuda作为一种编程语言框架实现了对于gpu计算的调用)

3.cudnn——针对深度学习卷积神经网络的加速库。

cudnn可以加速计算速度,需要在有cuda的基础上进行。两者都只服务于NVIDIA公司自己的GPU

安装cuda和cudnn:

利用下面的命令可以查看自己电脑所支持的最高的cuda版本,在命令行中输入:

nvidia-smi

安装低于最高的版本都行,去官网下载即可。

安装cudnn,在官网上选择匹配的cuda版本进行下载即可。

补充:其实一台电脑上是可以装多个cuda版本的,并且可以便捷的实现切换。

首先可以查看自己电脑上安装了哪些cuda版本

~/work/mmdetection3d-1.0.0rc5$ cd /usr/local
/usr/local$ ls
bin  cuda  cuda-11.6  cuda-12.1  doc  etc  games  include  lib  man  sbin  share  src

切换到/usr/local目录下即可查看。对于我的服务器电脑,安装了cuda-11.6和cuda-12.1两个版本

查看软链接指向哪个版本

stat cuda

查看当前使用哪个版本

nvcc -V

这两个版本应该相同,否则得进行相应操作修改

接着更改环境变量

vim ~/.bashrc

把里面的cuda-11.6(特定版本号)全部改成cuda,为了之后便于切换cuda版本。

source ~/.bashrc

保存更新修改。

最后切换自己想要使用的cuda版本(很多时候得和深度学习所需环境所匹配)

sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda

这样就是实现了把原来的11.6版本切换回了12.1版本。再用nvcc -V检查当前版本即可。

4.Anaconda的安装

Anaconda是一个非常流行的Python和R的数据科学和机器学习平台,它包含了conda包管理器和虚拟环境管理系统。当你安装Anaconda时,它通常会安装在你的用户目录下的某个位置,例如,在Linux上,它可能安装在~/anaconda3或~/miniconda3目录下(取决于你选择的安装程序版本)。

从官网上下载安装即可。

补充:pip和conda的关系和区别

pip主要用于Python包的安装和管理,它默认使用Python Package Index(PyPI)作为包的源。而conda是一个跨平台的包管理工具,它可以管理多种编程语言的包,并且默认使用Anaconda仓库作为包的源。pip主要专注于Python相关的软件包,因此在PyPI上可以找到大量的Python包。conda的包集合相对较小,但它提供了许多其他语言和工具的软件包,例如R、Julia、C++等。

简单理解:pip专注于python,提供的python包更全。conda可以提供其他语言的功能包。

5.创建虚拟环境。

对于每个项目,要求的包的版本都不相同,所以我们希望对于一个项目创造属于它自己的虚拟环境,在其中配置它所需要版本的功能包,防止冲突。一般情况在虚拟环境中安装功能包时,我们考虑优先使用conda安装,对于conda中没有的python包,再使用pip安装。

conda create --name myenv python=3.8

#创建了名字为myenv的虚拟环境
conda activate myenv

#激活创建好的虚拟环境,在其中安装包,运行项目文件
conda deactivate myenv

#退出虚拟环境,返回(base)

当安装好虚拟环境后,我们一般开始安装功能包,对于深度学习项目,首先是安装pytorch,到官网上,根据自己cuda版本,选择适当的下载命令即可。

对于其他的包,考虑兼容性问题,可以去官网上选择适当的下载命令,也可以用简单的命令安装。

conda install mmcv #一般是最新版本

conda install mmcv==2.2.0  #指定版本
pip install mmcv

pip install mmcv==2.2.0

删除包

conda uninstall mmcv

pip uninstall mmcv

对于新手来说,在跑github上的项目最先遇到的问题一般就是环境的配置,包和包经常会发生版本的冲突。一定要参考readme确定好项目适配的版本环境,或者参考官方文档或csdn查看兼容的包的版本。许多时候得不断下调各包的版本实现兼容,所以需要熟练掌握上述安装卸载命令。

还有个小坑:github项目gitclone下来的都是项目的最新版本,文件代码是最新的,调用包等的代码可能和过去包产生冲突,所以一定要按要求装过去指定的版本。可以不用gitclone,而是download zip把指定版本的项目下载下来,再拖到编译器工作区间中。

6.编辑器的选择

笔者是连实验室的远程服务器,所以用的vscode,可以直接把本地电脑的文件复制粘贴到远程服务器的工作目录下。(通过vscode)

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值