首页 > 其他分享 >【深度学习】代码复现基础--conda环境配置(pytorch)

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

时间:2024-09-04 21:24:03浏览次数:13  
标签:-- 环境 pytorch conda 版本 pip 安装

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,则安装成功

标签:--,环境,pytorch,conda,版本,pip,安装
From: https://blog.csdn.net/zzzzz_12321/article/details/141867782

相关文章

  • 【Java】ApiPost请求返回 `406` 状态码(jackson)
    Java系列文章目录补充内容Windows通过SSH连接Linux第一章Linux基本命令的学习与Linux历史文章目录Java系列文章目录一、前言二、学习内容:三、问题描述3.1问题截图3.2错误简介3.2.1HTTP状态码`406NotAcceptable`3.2.2序列化和反序列化3.3后端问题位置四......
  • 基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真
    1.课题概述基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,对比UKF,EKF迭代UKF,迭代EKF四种卡尔曼滤波的控制效果。2.系统仿真结果3.核心程序与模型版本:MATLAB2022aX_iukf=zeros(2,Times1);X_iukf(:,1)=state0;P_iukf=zeros(2,2,Times1);P_iukf(:,:,1......
  • 基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
    1.程序功能描述基于GA遗传优化的离散交通网络双层规划模型设计.优化输出路段1和路段2的收费情况收敛过程。2.测试软件版本以及运行结果展示MATLAB2022a版本运行3.核心程序rng(gen)genP1=0.9;P2=1-P1;FitnV=ranking(Objv);......
  • PointNet++改进策略 :模块改进 | PAConv,位置自适应卷积提升精度
    题目:PAConv:PositionAdaptiveConvolutionwithDynamicKernelAssemblingonPointClouds来源:CVPR2021机构:香港大学论文:https://arxiv.org/abs/2103.14635代码:https://github.com/CVMI-Lab/PAConv前言PAConv,全称为位置自适应卷积(PositionAdaptiveConvolution),是一种......
  • 【python因果推断库6】使用 pymc 模型的工具变量建模 (IV)1
    目录使用pymc模型的工具变量建模(IV)使用pymc模型的工具变量建模(IV)这份笔记展示了一个使用工具变量模型(InstrumentalVariable,IV)的例子。我们将会遵循Acemoglu,Johnson和Robinson(2001)的一个案例研究,该研究尝试解开强大的政治机构对于以国内生产总值(GDP)......
  • 计算机毕业设计:Java旅游景区订票售票系统开题报告+源代码效果图
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......
  • Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
    背景做亚马逊店铺,如果你的品卖爆了,免不得遇到被人跟品、广告关键词竞争甚至是恶意投诉等事情。如果靠人去检查产品是否正常,存在不及时的问题。所以,基本都会想要有一个自动检测的工具。一般是自动根据关键词,设置邮编,查看对应市场下的搜索结果页是否,然后进一步判断搜索结构页......
  • MathType免费安装公众号
    ......
  • mathtype7破解版下载安装!附带免费激活码许可证
    ......
  • 【人工智能】分布式网络介绍
    一、分布式网络概述        分布式网络,这种计算机网络架构,以其独特的去中心化特性,将数据、服务和应用分布在多个物理位置的节点上,从而构建出一个高效、灵活且强大的网络系统。在这样的网络中,不存在一个单一的控制中心,每个节点都可能承担着数据处理和存储的任务,这种设......