Linux 的 anaconda 虚拟环境下安装指定的 cuda、cudnn、pytorch

2023-11-14

感悟:首先,anaconda 的虚拟环境真香!开辟一个新的虚拟环境,很多环境、版本不兼容的问题都不复存在,尤其对复现别人代码的同学很有用。

条件:只要安装的版本不超过自己机器的硬件条件,那么就可以安装。

步骤:

1. 确定安装的 cuda 版本。

在虚拟环境中,先用 conda search cudatoolkit --info 命令查看源内所有的 cuda 版本,以及下载地址。下图示例中展红框标出了支持的 cuda 版本、对应的 url 地址及一些约束条件。

在这里插入图片描述

2. 下载并安装 cuda。

找到你想要的且满足自己机器条件的 cuda 版本,复制 url 对应的下载链接,cd 到你想要的下载目录,用如下代码下载:

wget 复制的 url 链接

执行如下命令安装 cuda。如不在当前目录下,需在 cuda 包前加上绝对路径。

conda install 刚下载的 cuda 安装包

3. 确定 cuda 对应的 cudnn 版本。

用如下命令查看 conda 支持的 cudnn 版本,需要注意的是 cudnn 的版本应与 cuda 版本匹配。下图中标出了 cudnn 的版本号、url 下载地址及该版本对应的一些约束条件。

conda search cudnn --info

在这里插入图片描述

4. 下载并安装 cudnn。

找到你想要的且满足自己机器条件的 cudnn 版本,复制 url 对应的下载链接,用如下代码下载:

wget 复制的 url 链接

执行如下命令安装 cudnn。

conda install 刚下载的 cudnn 安装包

5. 安装 pytorch。

官网上找到安装的 cuda 版本所支持的 pytorch 版本后,复制类似于下图红框中的命令至Linux命令行执行。

在这里插入图片描述

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch

5. 测试安装是否成功。

在虚拟环境中测试 cuda 是否安装成功不能用 nvcc -V。这是因为该命令返回的系统默认的 cuda 版本,而非当前环境下使用的 cuda 版本。我们可以在 python 环境下用 pytorch 命令检查当前环境下执行 python 文件时调用的是哪个 cuda。

# 命令行进入 python 交互环境后执行如下命令
import torch 	# 若不报错则 pytorch 安装成功,否则失败。
torch.__version__	# 查看 torch 版本
torch.version.cuda()	# 若 cuda 安装成功则返回版本号,否则失败。
torch.backends.cudnn.version()	# 若 cudnn 安装成功则返回版本号,否则失败。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 的 anaconda 虚拟环境下安装指定的 cuda、cudnn、pytorch 的相关文章

  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • PyTorch 中的后向函数

    我对 pytorch 的后向功能有一些疑问 我认为我没有得到正确的输出 import numpy as np import torch from torch autograd import Variable a Variable torch
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • 云原生之使用Docker部署Linux命令大全搜索工具

    云原生之使用Docker部署Linux命令大全搜索工具 一 Linux Command介绍 二 检查本地部署环境 1 检查docker版本 2 检查docker状态 三 下载linux command镜像 四 部署linux command
  • kylin: NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf

    1 背景 kylin load hive data 报错 后台日志 2019 05 08 11 40 34 046 ERROR http bio 7070 exec 3 controller TableController 197 org
  • VUE+vue-print-nb,vue打印我踩过的坑

    这几天写了一个需求 要求打印条形码 先来张要打印出来的效果图吧 效果图大概长这样子 图是我随便找的 二维码扫出来是啥我也不知道 哈哈 写这个需求的时候踩了太多的坑了 在此记录下辛酸史 vue print nb基本用法 这个插件用法很简单 安
  • 存储器管理(分页存储)例题解析(操作系统)

    逻辑地址 页号 页长 页内偏移量 将逻辑地址102B H 转换成十进制 11 160 2 161 1 163 4139 因为页长1KB 1024 所以 4139 1024 4 余数是43 那么也就是说 页号是 4 页内偏移量是 43 由页号
  • [深度学习]循环神经网络:RNN,LSTM,GRU,Attention机制,沿时间的截断反向传导算法

    RNN Recurrent Neural Network 循环神经网络 每个RNN都有一个循环核心单元 它把x作为输入 将其传入RNN RNN有一个内部隐藏态 internal hidden state 这个隐藏态会在RNN每次读取新的输入
  • ElasticSearch6.x 核心概念总结

    ElasticSearch6 x 与MySQL8 核心概念对比 ElasticSearch6 x MySQL8 x 索引 index 数据库 database 类型 type 表 table 文档 document 行 row 字段 fie
  • golang slice 是 struct 类型,作为参数传递时要传地址

    总结 slice 为结构体类型 go 传参都是值传递 跨函数传递 slice 时 要传变量的地址 不能直接传递变量值 因为除了 len 会变 遇到扩容时 还会新建底层数组 先看下 slice 的定义 type slice struct ar
  • Java 堆排序的应用--对类根据目标成员进行排序

    Java 堆排序的应用 对类根据目标成员进行排序 前言 堆排序方案 应用 快排方案 应用 代码记录 结语 前言 突然想对SQL语句搜索上来的数据重新排个序 也就是对类list排序 一时间网上搜了搜都说要覆写compareTo函数 觉得这么搞
  • 制作U盘安装CentOS 6.2

    见附件 CentOS6 2需自行下载
  • HCIP2------路由器、交换机的转发原理

    一 路由器 1 路由器产生的原因 对于普通用户来说 主机A与主机B通信需要通过路由器 从而构成简单的局域网 局域网内的计算机要和外面的计算机进行通信 要把请求提交给路由器的以太口 进而发展成为广域网 同时需要有一种方法来判断从源主机到达目的
  • Lattic Diamond软件安装不成功问题

    安装过程可以远程操作 但安装完成后不能通过远程来打开软件应用程序 一定要在本地电脑上打开使用 否则lisence中的MAC地址会不匹配
  • ScrollView默认位置不是最顶部

    场景描述 在scrollview中套用了一个recycleview 发现 recycleview上面的部分TextView不能被显示 直接显示的是recycleview的底部 分析原因 在Activity计算窗口的高度时 是在listvie
  • 在Excel中根据条件查找匹配多个值

    在Excel中根据条件查找匹配多个值 vlookup只能匹配第一个值 之前在深圳的时候就被问过这个问题 今天又遇到同事在问 索性记录在此 如下图 根据E列的值 在A列中查找对应的数据 输出匹配行上B列的值 依次填入到F G H 列 公式拆解
  • idea 配置maven常见问题

    1 在applicationContext dao xml中配置数据源时提示 cannot resolve property key 解决 在Facets中移除spring 重新添加一次 将xml引入 2 maven 下载的依赖库Depen
  • 腾讯云服务器标准型S5、S4、S3、S2区别及怎么选择?

    腾讯云标准型服务器包括S2 S3 S4实例 这些实例都是标准型服务器 那么S2 S3 S4 S5区别在哪里呢 在这一块选择的时候新手会有很多犹豫 看上去型号都差不多 配置里面很多参数也看不懂 到底怎么选呢 接下来带大家去看看详细情况 腾讯云
  • VS code 插件配置手册

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 VS code 插件配置手册 C C Tools插件 C C 支持安装库文件的配置GDB本地调试配置GDB远程调试配置Remote VSCode插件 远程编辑文件安装环境
  • VCPKG 包下载失败解决思路

    vcpkg经常会遇到资源无法访问 可能是域名解析出了问题 我们只需要将域名解析后的ip地址添加到hosts文件列表中可解决此问题 如 185 199 108 133 raw githubusercontent com 在此之前可先通过终端p
  • spring-boot-starter家族成员简介

    应用程序starters 以下应用程序starters是Spring Boot在org springframework boot组下提供的 springboot使用指南https docs spring io spring boot doc
  • Transforms的使用

    Transforms是常用的图像预处理方法 提高泛化能力 其实是一个py文件 其中包含了totensor 将数据类型转换成tensor类型 resize等工具 tensor数据类型 通过Transforms totensor去看两个问题 1
  • Linux 的 anaconda 虚拟环境下安装指定的 cuda、cudnn、pytorch

    感悟 首先 anaconda 的虚拟环境真香 开辟一个新的虚拟环境 很多环境 版本不兼容的问题都不复存在 尤其对复现别人代码的同学很有用 条件 只要安装的版本不超过自己机器的硬件条件 那么就可以安装 步骤 1 确定安装的 cuda 版本 在