Anaconda 更换镜像源、创建虚拟环境并安装 PyTorch

2023-11-07

1.更换镜像源

北京外国语大学开源软件镜像站:https://mirrors.bfsu.edu.cn/help/anaconda/

Windows 用户无法直接创建名为 .condarc 的文件,可先执行如下命令生成 .condarc 之后再修改。

conda config --set show_channel_urls yes

生成的 .condarc 存储在 C:\Users\账户名 目录下:

在这里插入图片描述

用记事本打开 .condarc,将镜像站提供的如下内容拷贝进去:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
  msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
  bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
  menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud

运行如下命令清除索引缓存,保证用的是镜像站提供的索引:

conda clean -i

查看 conda 的所有配置信息:

conda config --show

查看现在用的是哪些源:

conda config --show channels
conda config --show-sources

2.选择合适的 CUDA Runtime 版本

2.1 CUDA Runtime 版本不能高于 CUDA Driver 版本

如下图所示,我们使用 PyTorch 训练深度学习模型的时候,首先调用的是 PyTorch 提供的 API,然后又去调用 CUDA Runtime API,接着又去调用底层的 CUDA Driver API,从而利用显卡完成复杂的计算。因此,必须保证 CUDA Runtime 版本不能高于 CUDA Driver 版本。

在这里插入图片描述

CUDA Driver 版本是跟显卡驱动绑定在一起的,打开 GeForce Experience,更新显卡驱动(相当于更新 CUDA Driver 版本):

在这里插入图片描述

win + R 输入 cmd,在命令行窗口中输入 nvidia-smi,如下图所示,可以看到显卡驱动版本是 528.02,CUDA Driver 版本是 12.0,CUDA Driver 版本指的是显卡驱动支持的最高 CUDA Runtime 版本,也就是说,要安装的 CUDA Runtime 版本不能高于 12.0

在这里插入图片描述

2.2 根据显卡的算力和架构确定 CUDA Runtime 版本

查看显卡的算力:https://developer.nvidia.com/cuda-gpus

如下图所示,以我的笔记本 RTX3060 为例,算力是 8.6

在这里插入图片描述

查看显卡的算力、架构、及其所支持的 CUDA Runtime 版本:https://en.wikipedia.org/wiki/CUDA

如下图所示,以我的笔记本 RTX3060 为例,架构是 Ampere,算力是 8.6,同时满足这两个条件的 CUDA Runtime 版本有:11.1 - 11.4、11.5 - 11.7.1、11.8、12.0。

在这里插入图片描述

在这里插入图片描述

2.3 找到安装 PyTorch 的命令行

PyTorch 官网提供的最新版本:https://pytorch.org/get-started/locally/

PyTorch 官网提供的之前版本:https://pytorch.org/get-started/previous-versions/

综合考虑显卡的算力、架构、CUDA Driver 版本,最终决定安装 PyTorch1.12.1 + CUDA11.6,在官网找到的安装命令如下:

在这里插入图片描述

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

至此,我们费了好大的功夫其实只是为了获得一行安装命令,然后就可以在 Anaconda 的虚拟环境中执行这条安装命令了。

3.在 Anaconda 中管理虚拟环境并安装 PyTorch

3.1 查看所有虚拟环境

使用如下命令可以查看 Anaconda 中的所有环境,如下图所示,默认只有 base 环境:

conda env list
conda info --envs
conda info -e

在这里插入图片描述

3.2 创建虚拟环境

首先需要选择正确的 Python 版本,如下图所示,对于每个 PyTorch 版本,都有其对应的 Python 版本要求,比如我想安装的是 PyTorch1.12.1,其对应的 Python 版本要求为 3.7 ~ 3.10。

在这里插入图片描述

使用如下命令创建虚拟环境:

conda create --name mytorch1.12 python=3.9

创建的虚拟环境默认存储在 Anaconda 安装目录下的 envs 文件夹下:

在这里插入图片描述

如果想在指定路径下创建虚拟环境,那么可以执行如下命令,这种写法的弊端就是以后每次用到环境名称的时候都需要带上完整的路径。

conda create --prefix=E:\dev\AnacondaEnv\mytorch python=3.9

3.3 切换/激活虚拟环境

切换/激活虚拟环境:

conda activate mytorch1.12

在这里插入图片描述

如果当初创建虚拟环境时指定了路径,那么可以执行如下命令切换/激活(必须写上完整路径):

conda activate E:\dev\AnacondaEnv\mytorch

3.4 查看当前环境下安装的所有包

conda list

在这里插入图片描述

3.5 安装 PyTorch

在创建好的虚拟环境中,执行 PyTorch 官网提供的安装命令:

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

其中 -c 参数用来指定从哪个软件源下载,默认从 pytorchconda-forge 这两个官方源下载,速度很慢且不稳定。

因为我已经更换好了镜像源,所以这里的 -c pytorch-c conda-forge 会从北京外国语大学开源软件镜像站下载。

在这里插入图片描述

3.6 退出虚拟环境

使用如下命令退出虚拟环境:

conda deactivate

3.7 删除虚拟环境

执行如下命令删除虚拟环境:

conda remove --name mytorch1.12 --all

如果当初创建虚拟环境时指定了路径,那么可以执行如下命令将其删除(必须写上完整路径):

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

Anaconda 更换镜像源、创建虚拟环境并安装 PyTorch 的相关文章

  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • CUDA 矩阵加法时序,按行与按行比较按栏目

    我目前正在学习 CUDA 并正在做一些练习 其中之一是实现以 3 种不同方式添加矩阵的内核 每个元素 1 个线程 每行 1 个线程和每列 1 个线程 矩阵是方阵 并被实现为一维向量 我只需用以下命令对其进行索引 A N row col 直觉
  • 有没有一种有效的方法来优化我的序列化代码?

    这个问题缺乏细节 因此 我决定创建另一个问题而不是编辑这个问题 新问题在这里 我可以并行化我的代码吗 还是不值得 https stackoverflow com questions 17937438 can i parallelize my
  • Pytorch“展开”等价于 Tensorflow [重复]

    这个问题在这里已经有答案了 假设我有大小为 50 50 的灰度图像 在本例中批量大小为 2 并且我使用 Pytorch Unfold 函数 如下所示 import numpy as np from torch import nn from
  • PyTorch 中的连接张量

    我有一个张量叫做data形状的 128 4 150 150 其中 128 是批量大小 4 是通道数 最后 2 个维度是高度和宽度 我有另一个张量叫做fake形状的 128 1 150 150 我想放弃最后一个list array从第 2 维
  • Python 在 anaconda 中找不到 h2o 包

    当我尝试导入 h2o 时 我被告知该包不存在 当我尝试安装它时 它告诉我它已经存在 我尝试将其从计算机中删除并重新安装 但没有成功 此时我能想到的只是一些环境变量 C Users Lanier Anaconda2 C Users Lanie
  • 无法执行'x86_64-conda_cos6-linux-gnu-gcc':没有这样的文件或目录(pysam安装)

    我正在尝试安装 pysam 执行后 python path to pysam master setup py build 这个错误的产生是 unable to execute x86 64 conda cos6 linux gnu gcc
  • 更新 anaconda navigator 中的软件包时出现问题

    我无法更新 anaconda navigator 中的软件包 程序 1 更新索引 2 标记我要更新的包 3 点击应用 过了一会儿 窗口仍然是空的 什么也没有发生 见图 我已经从计算机中完全删除了 anaconda 并重新安装了它 问题仍然存
  • 在 anaconda 环境下运行 qsub

    我有一个程序 通常在 Linux 的 conda 环境中运行 因为我用它来管理我的库 指令如下 source activate my environment python hello world py 我怎样才能跑你好世界 py在与 PBS
  • PyTorch 给出 cuda 运行时错误

    我对我的代码做了一些小小的修改 以便它不使用 DataParallel and DistributedDataParallel 代码如下 import argparse import os import shutil import time
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 最小化 MC 模拟期间存储的 cuRAND 状态数量

    我目前正在 CUDA 中编写蒙特卡罗模拟 因此 我需要生成lots使用随机数cuRAND图书馆 每个线程处理一个巨大的元素floatarray 示例中省略 并在每次内核调用时生成 1 或 2 个随机数 通常的方法 参见下面的示例 似乎是为每
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 如何运行和理解CUDA Visual Profiler?

    我已经设置了 CUDA 5 0 并且我的 CUDA 项目运行良好 但我不知道如何使用 Visual Profiler 分析我的 CUDA 项目 如何运行它 我还需要安装更多吗 又该如何做呢 我的电脑使用Window 7 64位 CUDA 5
  • OS X 10.8 上的 PyCuda / 多处理问题

    我正在开发一个项目 将计算任务分配给多个 python 进程 每个进程都与其自己的 CUDA 设备关联 生成子进程时 我使用以下代码 import pycuda driver as cuda class ComputeServer obje
  • 具有 Cuda Thrust 的多个 GPU?

    如何将 Thrust 与多个 GPU 一起使用 这只是使用 cudaSetDevice deviceId 的问题吗 然后运行相关的 Thrust 代码 使用 CUDA 4 0 或更高版本 cudaSetDevice deviceId 接下来
  • 在requirements.txt中包含.whl安装

    如何将其包含在requirements txt 文件中 对于Linux pip install http download pytorch org whl cu75 torch 0 1 12 post2 cp27 none linux x8
  • 当安装的包使用 conda 虚拟环境时,如何使 Python 控制台脚本入口点工作?

    问题 从非虚拟环境转移到 conda 虚拟环境会导致控制台脚本入口点无法识别 背景 我最近尝试在我的 Python 项目中使用虚拟环境 在更新 macOS Catalina 导致我的所有 PyCharm 项目显示无效解释器错误后 我决定执行
  • PyInstaller 是否包含 CUDA

    我正在开发一个Python脚本 我使用Python 3 7 3 它使用tensorflow gpu 1 14 0 并使用PyInstaller 3 5将此脚本转换为可执行文件 我使用的是 CUDA 10 0 和 cuDNN 7 6 1 我的

随机推荐

  • 基于vmdk文件创建虚拟机

    基于vmdk文件创建虚拟机 1 准备vmdk文件 下载地址如下 链接 https pan baidu com s 1coQuZw8cgg5oU5bSegsS7Q pwd 5mv0 提取码 5mv0 账号 密码 root sinzuo 2 创
  • react 函数组件和class组件的区别

    一 组件的定义 1 class组件 继承React Component 且需要创建render方法来返回元素 class Welcome extends React Component render return h1 Hello this
  • 使用gdb调试多进程和多线程

    GDB调试多进程 1 默认设置下 在调试多进程程序时GDB只会调试主进程 但是GDB gt V7 0 支持多进程的分别以及同时调试 换句话说 GDB可以同时调试多个程序 只需要设置follow fork mode 默认值 parent 和d
  • 查看pcie总线上的设备ID以及带宽计算

    1 获取设备在pcie总线上的ID lspci 00 00 0 Class 0600 Device 8086 190f rev 07 00 01 0 Class 0604 Device 8086 1901 rev 07 00 01 1 Cl
  • 用python解“计算工资”题

    7 10 计算工资 某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少于5年的员工为老职工 5年以下的
  • v-show和v-if有何异同?

    v show 用于根据条件展示元素 带有 v show 指令的元素始终会被渲染并保留在 DOM 中 v show 只是简单地切换元素的 CSS property display 注意 v show 不支持
  • SQL Server(三)-查询数据(3)

    多表连接查询和子查询 两表连接查询 多表连接查询 左外 右外 全外连接查询 组合查询 子查询 在SSMS的查询设计器中设计查询1 连接查询 1 使用无连接规则连接两表 不设置WHERE子句 所谓无连接规则连接 就是指连接两表的SELECT语
  • PPT怎么切换不同的母版

    首先选中要改变母版的PPT 右击鼠标出现菜单栏 选择版式 版式里面有所有的幻灯片母版可供选择
  • STM32------PWM

    文章目录 前言 一 PWM概述 二 库函数 1 GPIO引脚映射 2 定时器通道1配置 3 定时器通道1比较值 三 PWM1和PWM2模式 1 定义 2 示例 四 dc调光与pwm调光区别 五 呼吸灯源码下载 总结 前言 STM32 PWM
  • centos7防火墙配置详细

    一 条件防火墙是开启的 systemctl start firewalld 1 查看防火墙的配置 firewall cmd state firewall cmd list all 2 开放80端口 firewall cmd permanen
  • 数据挖掘学习(二)——数据探索与清洗

    笔者是一个痴迷于挖掘数据中的价值的学习人 希望在平日的工作学习中 挖掘数据的价值 找寻数据的秘密 笔者认为 数据的价值不仅仅只体现在企业中 个人也可以体会到数据的魅力 用技术力量探索行为密码 让大数据助跑每一个人 欢迎直筒们关注我的公众号
  • 我遇到的BUG:WSL2 忘记用户密码

    我之前忘记了WSL的密码 在网上看了很多瞎写的博文 没起到作用 后来偶然看到一篇文章 解决了这个问题 要在WSL中重置用户密码 需要 在windows命令行里将默认用户切换为root 在WSL里重置用户密码 在windows命令行里将默认用
  • sqlServer数据库索引

    08 索引 8 1 定义 对数据库表中一个或者多个列进行排序的结构 有助于更快的获取信息 是用来获取定位的 8 2 作用 加快数据检索 保证数据的一致性 实现表与表之前的参照完整性 副作用 创建索引会占用空间并耗费一定的时间 创建索引会减慢
  • 【可解释性机器学习】interpretable machine learning——Functional Decomposition

    Functional Decomposition 机器学习中的监督学习模型可被视为一个函数 该函数将高维特征向量作为输入 然后产生预测或分类概率作为输出 函数分解 functional decomposition 分解高维函数并将其表达为可
  • 常见前端安全问题概述

    随着互联网的高速发展 安全问题已成为企业最关注的焦点之一 而前端又是容易引发安全问题的 窗口 作为开发人员的我们 更需要充分了解如何预防和修复安全漏洞 本文将列举常见的前端安全问题 希望对你有所帮助 本文将从以下几种安全问题展开介绍 XSS
  • Jmeter中csvRead函数的使用

    当想要脚本随机传参数时 可以结合csvRead和Random函数使用 也相当于参数化的一种用法 想了解其他参数化方法的读者 可以参考上一篇文档 1 事先准备好存储数据的文档 注意 数据之间使用英文逗号隔开 否则后面随机抽取数据时没有抽取到
  • 【yarn】yarn Job 状态机正常执行流程

    1 概述 今天6月1日 节日值得发个文章 庆祝一下 上一篇文章 Yarn Yarn Service端如何处理客户端提交的任务 在上一篇文章中 我们知道服务器接收到客户端提交的任务之后 会启动多个状态机进行联合操作 最终来解决任务提交之后的全
  • JS内置对象Math的常用方法

    JS内置对象Math的常用方法 1 向上取整 Math ceil 2 向下取整 Math floor 3 四舍五入 Math round 4 绝对值 Math abs 最大值 Math max 最小值 Math min 7 随机数 Math
  • 5 种方法重复执行历史命令

    Linux 下 如果要执行一条或多条之前输过的指令 要怎么处理 很多人会想到使用上下箭头去翻查历史输入的命令 这当然是可以了 除了这种方法 本文再介绍另外 5 种方法来实现这样的效果 在正式开始之前 我们先随便执行几条命令 便于后面演示 为
  • Anaconda 更换镜像源、创建虚拟环境并安装 PyTorch

    文章目录 1 更换镜像源 2 选择合适的 CUDA Runtime 版本 2 1 CUDA Runtime 版本不能高于 CUDA Driver 版本 2 2 根据显卡的算力和架构确定 CUDA Runtime 版本 2 3 找到安装 Py