conda&pytorch环境搭建笔记
创始人
2024-11-15 06:03:49
0

1. 安装conda

官网安装地址:https://docs.anaconda.com/anaconda/install/linux/

下载Installer

curl -O https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh 

注:可以到这里查看和选择适合的版本:https://repo.anaconda.com/archive/

注:如果遇到curl: (60) SSL certificate problem: certificate has expired,可以加上-k选项来忽略SSL证书检查。

执行安装:

bash ~/Downloads/Anaconda3-2024.06-1-Linux-x86_64.sh 

一路按enter, 中间会提示查看和同意license。
在这里插入图片描述
选择自己的安装目录
在这里插入图片描述

手动初始化conda环境:

source /bin/activate conda init 

执行完毕后conda会提示“Thank you for installing Anaconda3!”表示安装完成。

配置每次打开shell时,是否有默认的环境:

# The base environment is activated by default conda config --set auto_activate_base True  # The base environment is not activated by default conda config --set auto_activate_base False 

如果配置为true,则每次打开终端会自动进入base环境。

2. 环境管理

2.1 配置镜像源

为了加速 conda 包的下载速度,你可以配置国内的镜像源(如清华大学的镜像源),编辑 ~/.condarc 文件:

channels:   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/ show_channel_urls: true 

重新加载conda配置:conda clean -i

2.2 创建环境

先查看目前有哪些环境

# 或conda info --envs conda env list 

在这里插入图片描述
由于是刚安装的conda,所以只有base一个环境。

注:环境可以认为是python全部库的复制。

创建python环境:

  • myenv: 环境的名称
  • X.X:希望安装的Python版本号

为什么要创建新的环境?每个库都有不同的版本,每个版本都有不同的依赖关系,如果多个项目的python环境混用,很快就会陷入各种库的依赖冲突的泥潭中。

conda create --name myenv python=X.X # 或者:conda create --name myenv python=X.X anaconda 

如果带anaconda后缀,将复制完整的anaconda软件包,大概900多M。
如果不带anaconda后缀,将只复制python环境。

2.3 环境激活

激活环境

conda activate myenv 

在新版本的conda中(从4.6开始),source activate和deactivate命令被标记为弃用。

退出当前环境:要从当前激活的环境中退出,你可以使用:

conda deactivate 

但是每次进来都要手动激活环境很麻烦,可以通过修改用户的shell配置文件来实现自动激活虚拟环境

shell的默认配置文件是 ~/.bashrc(或 ~/.bash_profile),打开并在文件最后输入激活指定环境的命令。

conda activate myenv 

在这里插入图片描述

保存后,后续每次打开ssh窗口,就会自动激活指定的虚拟环境。

3. 包管理

3.1 常用的包管理命令
  • 安装包:conda install
  • 更新包:conda update
  • 删除包:conda remove
  • 查看已安装的包:conda list
  • 查看可以安装的版本:conda search --info
3.2 安装pytorch

这里有个误区,如果直接执行conda install pytorch 来安装pytorch,它默认安装的是cpu版本的pytorch。

此时,如果在pytorch中使用cuda时,会报如下 错误:

import torch  tensor = torch.Tensor(3, 5).to('cuda') tensor 
--------------------------------------------------------------------------- AssertionError                            Traceback (most recent call last) Cell In[6], line 3       1 import torch ----> 3 tensor = torch.Tensor(3, 5).to('cuda')       4 tensor  File /data2/anaconda3/envs/anti-fraud/lib/python3.12/site-packages/torch/cuda/__init__.py:284, in _lazy_init()     279     raise RuntimeError(     280         "Cannot re-initialize CUDA in forked subprocess. To use CUDA with "     281         "multiprocessing, you must use the 'spawn' start method"     282     )     283 if not hasattr(torch._C, "_cuda_getDeviceCount"): --> 284     raise AssertionError("Torch not compiled with CUDA enabled")     285 if _cudart is None:     286     raise AssertionError(     287         "libcudart functions unavailable. It looks like you have a broken build?"     288     )  AssertionError: Torch not compiled with CUDA enabled 

即使不甘心,用torch.cuda.is_available()来检测,仍然是False。

import torch torch.cuda.is_available()  > False 

正确的安装方式是要安装与你机器上cuda兼容的pytorch版本。先确认本地的cuda版本:

nvcc --version 

如果没有安装cuda驱动或需要更新驱动,可以到nvidia官网下载:https://www.nvidia.com/download/index.aspx?lang=cn

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Mon_Oct_24_19:12:58_PDT_2022 Cuda compilation tools, release 12.0, V12.0.76 Build cuda_12.0.r12.0/compiler.31968024_0 

然后去pytorch官网选择适合自己环境的pytorch版本:

pytorch官网地址:https://pytorch.org/

在这里插入图片描述

注:上面nvcc命令查到的cuda版本是12.0,但pytorch官网没有提供cuda 12.0的可选择版本,保险起见,选择了低于12.0的11.8作为兼容版本安装。

选择好后,会自动生成上面红框中的安装命令,再返回自己的机器上执行安装:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 

安装进度如下图所示,要安装的包很多,需要很长时间等待。
在这里插入图片描述
安装完后,验证安装结果:

import torch  tensor = torch.Tensor(3, 5).to('cuda') torch.cuda.is_available(), tensor 
(True,  tensor([[4.2039e-45, 4.2039e-45, 1.2612e-44, 2.9427e-44, 0.0000e+00],          [0.0000e+00, 0.0000e+00, 1.4013e-43, 0.0000e+00, 4.2039e-45],          [4.2039e-45, 3.0829e-44, 3.2230e-44, 0.0000e+00, 0.0000e+00]],         device='cuda:0')) 
3.3 关于conda和pip

在安装python包时,初学者可能会有一个疑问,一个包即可以用conda安装,也可以用pip来安装。那如果先后用conda 和pip 都执行了pytorch的安装(如下命令),最终结果是什么呢?

$ conda install pytorch $ pip install torch 

最终会发生替换,因为不论用哪种方式安装,最终都是安装到了python环境的 site-packages 目录,,后安装的包会覆盖先前安装的包。

附:环境错误收集

错误1:引入pytorch时报import error
>>> import torch Traceback (most recent call last):   File "", line 1, in    File "/data2/anaconda3/envs/python3_10/lib/python3.10/site-packages/torch/__init__.py", line 239, in      from torch._C import *  # noqa: F403 ImportError: /data2/anaconda3/envs/python3_10/lib/python3.10/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: symbol __nvJitLinkAddData_12_1 version libnvJitLink.so.12 not defined in file libnvJitLink.so.12 with link time reference 

原因:pytorch与CUDA库版本不匹配导致,因为起先选择了cuda12.1(大于12.0)版本的pytorch,安装完后与本地的cuda12.0不匹配。
解法:重新选择了cuda11.8版本的pytorch。

参考资料

  • pytorch官网安装指导
  • cuda toolkit安装

相关内容

热门资讯

玩家攻略,金花房卡专卖店九酷众... 微信游戏中心:九酷众娱房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正规平台有哪些,金花房卡批发价... 正规平台有哪些,金花房卡批发价火神大厅/房卡链接怎么获取Sa9Ix苹果iPhone 17手机即将进入...
ia攻略/金花房卡如何购买嫦娥... 嫦娥大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
推荐一款!牛牛充值房卡海草众厅... 海草众厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
一分钟了解!金花房卡出售红桃众... 一分钟了解!金花房卡出售红桃众娱/微信链接房卡充值链接红桃众娱是一款非常受欢迎的游戏,咨询房/卡添加...
我来教你/金花房卡制作链接熊猫... 我来教你/金花房卡制作链接熊猫大厅/微信链接房卡批发价Sa9Ix苹果iPhone 17手机即将进入量...
科技实测!金花房卡出售新八戒/... 新八戒房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根据...
ia攻略/斗牛房卡充值乐乐大厅... 微信游戏中心:乐乐大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
ia攻略/金花房卡批发嫦娥大厅... 嫦娥大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
头条推荐!金花房卡出售乐乐大厅... 头条推荐!金花房卡出售乐乐大厅//全网房卡低价售Sa9Ix苹果iPhone 17手机即将进入量产阶段...
重大通报,金花房卡制作链接黄帝... 您好!微信黄帝大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(黄帝大厅)大厅介绍:...
头条推荐!金花房卡是正规的兄弟... 兄弟大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
科技实测!怎么买斗牛房卡龙马大... 龙马大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
科技实测!游戏推荐斗牛房卡出售... 您好!微信悠悠众娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(悠悠众娱)大厅介绍:...
玩家攻略,怎么买斗牛房卡至尊大... 今 日消息,至尊大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
玩家攻略,游戏推荐牛牛房卡出售... 金牛座厅/新西部房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
IA解析/怎么买斗牛房卡海蓝大... IA解析/怎么买斗牛房卡海蓝大厅/开群怎么买房卡海蓝大厅是一款非常受欢迎的游戏,咨询房/卡添加微信:...
我来教你/金花房卡批发价龙王大... 我来教你/金花房卡批发价龙王大厅/房卡怎么搞Sa9Ix苹果iPhone 17手机即将进入量产阶段。有...
我来教你/牛牛房卡制作链接卡农... 今 日消息,卡农大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
IA解析/金花房卡专卖店芝麻大... 微信游戏中心:芝麻大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...