深度学习环境搭建详解及疑难解释(Pycharm)
Pycharm分为专业版和社区版本,在pycharm里面可以创建很多项目,这些项目可以通过项目虚拟环境相互隔离,也可以公用系统的环境。这些不同的项目 需要配置 不同的相关特定版本的 第三方安装包、特定版本的python等等。如果全都基于公共的系统环境,会造成版本、安装包混乱。
一、Pycharm
Pycharm分为专业版和社区版本,社区版缺少一定功能,专业版功能全。我之前下载了社区版本,现在重新下载配置专业版本并做记录。
具体操作可以模仿该b站视频,版权限制,不在这里发了
通过网盘分享的文件:pycharm-professional-2024.1.exe等3个文件
链接: https://pan.baidu.com/s/1lIMOmFu0S8uWZeH3ClcqyQ?pwd=1111 提取码: 1111
--来自百度网盘超级会员v5的分享
【2025】超详细Python安装教程+PyCharm安装教程
二、项目与虚拟环境一对一
首先给一个参考视频:【一文理顺:pytorch、cuda版本,从此不再为兼容问题头疼!】 https://www.bilibili.com/video/BV1yx4y1B7fu/?share_source=copy_web&vd_source=f0e9eab807b0e8631798cfd96a5c0c51
在pycharm里面可以创建很多项目,这些项目可以通过项目虚拟环境相互隔离,也可以公用系统的环境。这些不同的项目 需要配置 不同的相关特定版本的 第三方安装包、特定版本的python等等。如果全都基于公共的系统环境,会造成版本、安装包混乱。于是,我们再创建一个虚拟环境,里面配置了这个项目需要的相关包和库,将项目与这个环境链接起来,便能让项目之间不再相互干扰。
我创建的虚拟环境都在D:\py\Anaconda3\envs ,每个文件夹都是隔离的配置环境。
我的项目都在 E:\APP\pycharm24.1\work_vision ,每个文件夹都是相互隔离的项目。
三、配置时Anaconda-navigator操作与在anaconda-prompt操作的异同
配置环境时候,有两种不同的方法。
3.1 Anaconda-navigator操作
点击anaconda navigator,点击左侧environment,下方有create,copy等按键,可以选择需要的python版本,在右侧package里面也可以一键安装指定的库。新配置好的环境都存在了D:\py\Anaconda3\envs\你命名的名字 里面。Copy就是你可以直接复制已经有的配置环境,就不需要重新创建了。
但是问题在于,在navigator里面配置package的时候,基本显示的都是最新版的包,无法配置旧版本的包。配置新版本的pytorch,我的电脑不支持他的gpu运算,所以要找旧本的。
3.2 Anaconda-prompt操作
3.2.1 首先创建一个新环境,命令如下:
- 指定Python版本:比如想创建一个Python 3.8版本的环境,命令就是`conda create -n 环境名字 python=3.8`。如果不指定版本,默认会安装最新版本的Python。
- 安装其他包:除了Python,你还可以同时指定安装其他的包。例如创建一个环境,并安装numpy和pandas包,命令可以写成`conda create -n 环境名字 python=3.8 numpy pandas`。
- 指定路径:默认情况下,新环境会安装在Anaconda安装目录下的`envs`文件夹中。若要指定安装路径,可以使用`--prefix`参数,如`conda create --prefix="D:\myenv\新环境名" python=3.8` (注意Windows系统路径中使用双引号 )。
- 克隆已有环境:如果你希望新环境和已有的某个环境完全一样,可以使用`--clone`参数。例如,已有一个名为`old_env`的环境,想基于它创建新环境`new_env`,命令是`conda create -n new_env --clone old_env`。
这些操作都与navigator相对应。
3.2.2 接着打开这个环境
Prompt里面默认的环境是root系统环境,你需要打开你的新环境
输入:
conda activate 环境名字
这样就切换到了你创建的新环境
我的Gpu是NVIDIA的rtx1650ti,支持的cuda版本是从11.1-11.6.
我安装的cuda是11.3的,我需要下载的pytorch安装包是要配适11.3的版本,否则不支持gpu加速运算。
去pytorch官网,找到对应的安装包命令,复制并输入
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
这时候就会进行下载,但是会遇见一个问题就是下载过慢。这时候就需要用镜像源加速。
找到pytorch-wheels-cu113安装包下载_开源镜像站-阿里云
找到pytorch==1.12.1 ,torchvision==0.13.1, torchaudio==0.12.1 ,cudatoolkit=11.3
且配适python版本、windows的安装包,whl格式。
3.2.2.1 两种方法
第一种,直接在prompt里面pip install https://mirrors.aliyun.com/pytorch-wheels/cu113/torchvision-0.13.1+cu113-cp38-cp38-win_amd64.whl
cu113表示CUDA是11.3版本的,cp38表示python3.8,win表示windows版本,
找到另外几个,相同的格式,就可以安装。
第二种,将安装包下载下来,对应安装包的路径
pip install C:\Users\86176\Downloads\torch-1.12.1+cu113-cp38-cp38- win_amd64.whl
3.2.3 最后验证是否安装成功
import torch
print(torch.cuda.is_available())
应输出 True,则gpu可以在这个环境中使用。则配置完毕。
3.3补充一些命令:
# 显卡驱动信息,主要看CUDA支持的最高版本
nvidia-smi
# 当前使用的CUDA的版本
nvcc -V
# 查看安装了几个CUDA,当前使用哪个版本的CUDA
ll /usr/local/
# 查看已安装的包的版本
conda list | grep cuda
conda list | grep torch
四、CUDA、pytorch、Gpu的关系
4.1 GPU(图形处理器)是硬件基础:
GPU最初用于处理图形和图像相关运算,因其具备大量并行处理单元,能够同时执行大量相似操作,非常适合深度学习中大规模矩阵运算,如卷积神经网络(CNNs)和循环神经网络(RNNs)的计算。目前市场上常见的GPU厂商有NVIDIA、AMD等。像NVIDIA的GeForce、Quadro、Tesla、A系列等,以及AMD的部分显卡产品。
4.2 CUDA是NVIDIA GPU的软件加速平台
CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算架构和编程模型。只有NVIDIA的GPU才能使用CUDA,它允许开发者使用C、C++、Fortran、Python等语言编写程序,直接访问NVIDIA GPU的并行计算能力,将GPU作为通用处理器执行复杂的并行计算任务。此外,CUDA还有一个专门针对深度神经网络优化的库——cuDNN(CUDA Deep Neural Network library ),实现了常见的深度学习操作,如卷积、池化、归一化等,可进一步提升深度学习计算效率。
4.3 PyTorch是调用CUDA和GPU资源的深度学习框架
PyTorch是一个开源的机器学习库,主要用于深度学习模型的构建和训练,支持动态计算图,使用灵活,便于研究和原型设计。它内置了对CUDA和cuDNN的支持,当使用PyTorch训练深度学习模型时,若系统中安装了CUDA,它会自动将数据传输到GPU显存,并调用CUDA内核和cuDNN库执行计算,从而加速模型训练;若系统中没有CUDA,PyTorch也支持通过OpenCL、ROCm等其他后端,利用AMD等非NVIDIA的GPU进行计算 。
三者相互配合,GPU提供计算硬件基础,CUDA提供软件层面的并行计算支持,PyTorch则作为开发者使用的工具,借助CUDA实现对GPU资源的调用,以加速深度学习任务。在实际使用中,还需要注意显卡、CUDA版本、PyTorch版本之间的兼容性,否则可能出现无法使用GPU加速或程序报错等问题。
4.4深入了解cuda、cudatoolkit以及多版本cuda共存时pytorch调用哪个
进一步, cuda、cudatoolkit以及多版本cuda共存时pytorch调用哪个 cuda和cudatoolkit-CSDN博客
https://blog.csdn.net/xiqi4145/article/details/110254093
4.5安装需要的CUDA,多版本共存,并自由切换
安装需要的CUDA,多版本共存,并自由切换! 【多版本cuda自由切换】在ubuntu上安装多个版本的CUDA,并且可以随时切换cuda-11.3//cuda-11.8//cuda-11.6//cuda-11.2_ubuntu切换cuda-CSDN博客
https://blog.csdn.net/BetrayFree/article/details/134870198
五、Jupyter的创建以及目标核配置
Anaconda 安装的 Prompt(如 Anaconda Prompt)、Jupyter 等工具本身是全局入口,但它们可以调用 `envs` 中虚拟环境的资源,具体逻辑如下:
5.1. Anaconda Prompt 等终端工具:
- 直接打开 Anaconda Prompt 时,默认处于 `base` 环境。通过 `conda activate 环境名`(如 `conda activate pytorch`)激活 `envs` 中的虚拟环境后,后续安装包、运行代码等操作,都会基于该虚拟环境的 Python 版本和包依赖执行。
5.2. Jupyter 工具:
- Jupyter 本身是全局程序,但需要虚拟环境安装 `ipykernel` 内核工具(`conda install ipykernel`)。安装后,通过 `python -m ipykernel install --user --name=环境名` 注册内核,Jupyter 界面就能切换到 `envs` 中对应虚拟环境的内核,调用该环境的 Python 和包资源运行代码。注意、此时只是把jupyter的环境改为了你创建的环境,项目并没有迁移过来。
注册之后,打开jupyter,在右上角的new里面会看到你的环境名字,选择即可。
简言之,这些工具是全局入口,但通过激活环境、注册内核的方式,可灵活使用 `envs` 中不同虚拟环境的配置。
更多推荐
所有评论(0)