【深度学习】代码复现基础--conda环境配置(pytorch)

0.需求

做实验阶段经常需要复现代码,要从github上把代码克隆下来,然后按照里头的readme文件配置环境【主要是pytorch】。电脑本身已经装好了Anaconda和开发工具,这个过程其实很简单,只是一些语句,但具体细节经常会忘,每次又要反复查,网上查着又都是从0开始的,且很多为比较旧的教程,因此写个文章记录一下配置环境的一些过程,方便之后做实验搭环境。

1.搭环境之前

  • 电脑支持cuda并且已经安装过cuda以及cudnn等
  • 电脑已经安装并配置好anaconda环境

阅读github上的readme部分的环境需求,然后一条一条开装

2.CUDA = 11.1

不包在conda环境里,本身也不是通过conda安装的。如果之前用GPU跑过深度学习的代码,那就是已经装过了,可以在终端用以下指令查一下版本,CUDA版本向下兼容。

nvcc -V

 我往常一直是使用nvidia-smi查的版本,后来才发现两个版本查出来不一致,nvidia-smi的会比较高一些,具体原因这篇文章里有写,结论是应当以上面的nvcc为准。但是目前还没有踩过这类的坑,代码一直也都能跑。

【CUDA】nvcc和nvidia-smi显示的版本不一致? - 简书 (jianshu.com)

3.Python = 3.9

先创一个conda环境,并安装相应版本的python。env_name是自定义的环境名字

conda create -n env_name python=3.9

此时创建好了一个conda环境,同时环境里也安装好了3.9版本的python。查看环境列表确认conda环境是否安装创建成功:

conda env list

并激活该conda环境:

conda activate env_name

【一些报错】UnavailableInvalidChannel: The channel is not accessible or is invalid.
之前配置的镜像源无效了。有类似问题可以考虑一下换镜像源,比如这篇文章的:conda Collecting package metadata (repodata.json)卡住或 failed问题_collecting package metadata (repodata.json):-CSDN博客

4.Pytorch = 1.8.0

需要找到与CUDA版本(这里是11.1)兼容的PyTorch版本,访问官方网址Previous PyTorch Versions | PyTorch。找到1.8.0版本,对应到CUDA版本,获取安装命令:

如果要使用pip安装, 该网页上也有相应指令,往下划就能看到

conda和pip二选一, 看具体情况。
安装一般很慢,因为从官网进行下载的,而且容易超时报错。清华源好像也没有相关版本,推的都是cpu版本。所以如果实在没办法可以通过手动下载whl文件,再手动安装,在这里download.pytorch.org/whl/torch_stable.html找到指定版本下载,安装过程可以参考这篇文章【2024最新】下载cuda版本的pytorch库时清华源不可用的问题(已解决)_pytorch_yyg_ds-西安城市开发者社区 (csdn.net)

【一些服务器连接tips】如果宁愿花时间不想花精力,在确保网络通常的情况下,可以就去吃顿饭溜达一下,回来就装好了。我是通过ssh连接的服务器,在服务器上装,经常断连,随之进程也会被挂起,安装被中断了,重新连接后还得重新安装。
这种情况可以使用screen会话。screen会话会在后台运行,即使断开了 SSH 连接,会话中的进程仍然会继续运行。重新连接时,也可以重新连接到会话。具体操作可以看以下这篇文章:
screen简单使用-CSDN博客

安装完毕后,确认一下环境内的已安装包里是否包含pytorch这些。包含这三个库,就没问题了。

conda list

我是用pip安装的,在检查list的时候发现装完pytorch之后,pip又自己默认装了2.0.2版本的numpy。在某些情况下,如果环境中已经通过pip安装了某个包,conda可能会检测到它并将其添加到列表中,但不会尝试替换它。因为后面显式要安装numpy1.21.2,于是将这个pip装的numpy卸载。

pip uninstall numpy

虽然pip提供了灵活的安装方式,但它可能不会解决所有依赖性问题,尤其是在涉及复杂环境和多个库时。所以推荐在可能的情况下优先使用conda来安装和管理包,以减少版本冲突和环境问题。

5.sklearn = 1.0.1、numpy = 1.21.2

这一类特定版本的普通库,语法都差不多。

conda install scikit-learn=1.0.1
conda install numpy=1.21.2

6.核对、测试

conda list检查一下:

主要还是pytorch部分,因此进入python运行一下:

import torch
torch.cuda.is_available()

返回true,则安装成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值