ubuntu22.04下使用conda安装pytorch(cpu及gpu版本)

本文介绍了conda下安装cpu、gpu版本的pytorch;并介绍了如何设置镜像源

ubuntu环境安装pytorch的CPU版本与GPU版本

系统:ubuntu22.04
显卡:RTX 3050
依赖工具:miniconda

确认环境

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy
$ nvidia-smi
Tue Feb 13 21:51:33 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.154.05             Driver Version: 535.154.05   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3050 ...    Off | 00000000:02:00.0 Off |                  N/A |
| N/A   48C    P3               7W /  35W |    435MiB /  4096MiB |     11%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1854      G   /usr/lib/xorg/Xorg                          226MiB |
|    0   N/A  N/A      2225      G   /usr/bin/gnome-shell                         84MiB |
|    0   N/A  N/A      3199      G   ...irefox/2987/usr/lib/firefox/firefox       95MiB |
|    0   N/A  N/A     48808      G   ...resh,SpareRendererForSitePerProcess       21MiB |
+---------------------------------------------------------------------------------------+
$ conda --version
conda 23.11.0

使用conda安装pytorch(CPU版本)

注意:默认conda安装pytorch的是cpu版本,如需要安装GPU版本的,注意直接看后面

创建一个新conda环境
$ conda create -n myPyt

新创建的环境不包含任何依赖可以使用conda list查看一下

开始安装pytorch(当然,也可以前面在创建环境的同时,把依赖包一同时安装了)

$ conda install pytorch

为了方便验证同时安装ipython

IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功能以及改进了的交互式帮助

# 激活环境
$ conda activate myPyt
# 安装ipython
$ conda install ipython
验证一下pytorch环境

输入ipython,进入交互式环境,依次输入如下两条命令import torchtorch.cuda.is_available()

$ ipython
Python 3.11.7 (main, Dec 15 2023, 18:12:31) [GCC 11.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.20.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: import torchIn [2]: torch.cuda.is_available()
Out[2]: False

发现当前的版本是不cpu版本,不支持cuda加速的,我们查看一下依赖

$ conda list
# packages in environment at /home/bing/miniconda3/envs/myEnv:                                                                                                       
#                                                                                                                                                                    
# Name                    Version                   Build  Channel                                                                                                   
_libgcc_mutex             0.1                        main                                                                                                            
_openmp_mutex             5.1                       1_gnu                                                                                                            
blas                      1.0                         mkl                                                                                                            
bzip2                     1.0.8                h7b6447c_0                                                                                                            
ca-certificates           2023.12.12           h06a4308_0                                                                                                            
cffi                      1.16.0          py311h5eee18b_0                                                                                                            
filelock                  3.13.1          py311h06a4308_0                                                                                                            
fsspec                    2023.10.0       py311h06a4308_0                                                                                                            
gmp                       6.2.1                h295c915_3                                                                                                            
gmpy2                     2.1.2           py311hc9b5ff0_0                                                                                                            
intel-openmp              2023.1.0         hdb19cb5_46306                                                                                                            
jinja2                    3.1.3           py311h06a4308_0                                                                                                            
ld_impl_linux-64          2.38                 h1181459_1                                                                                                            
libffi                    3.4.4                h6a678d5_0                                                                                                            
libgcc-ng                 11.2.0               h1234567_1                                                                                                            
libgomp                   11.2.0               h1234567_1                                                                                                            
libprotobuf               3.20.3               he621ea3_0                                                                                                            
libstdcxx-ng              11.2.0               h1234567_1                                                                                                            
libuuid                   1.41.5               h5eee18b_0                                                                                                            
markupsafe                2.1.3           py311h5eee18b_0                                                                                                            
mkl                       2023.1.0         h213fc3f_46344                                                                                                            
mkl-service               2.4.0           py311h5eee18b_1  
mkl_fft                   1.3.8           py311h5eee18b_0  
mkl_random                1.2.4           py311hdb19cb5_0  
mpc                       1.1.0                h10f8cd9_1  
mpfr                      4.0.2                hb69a4c5_1  
mpmath                    1.3.0           py311h06a4308_0  
ncurses                   6.4                  h6a678d5_0  
networkx                  3.1             py311h06a4308_0  
ninja                     1.10.2               h06a4308_5  
ninja-base                1.10.2               hd09550d_5  
numpy                     1.26.3          py311h08b1b3b_0  
numpy-base                1.26.3          py311hf175353_0  
openssl                   3.0.13               h7f8727e_0  
pip                       23.3.1          py311h06a4308_0  
pycparser                 2.21               pyhd3eb1b0_0  
python                    3.11.7               h955ad1f_0  
pytorch                   2.1.0           cpu_py311h6d93b4c_0  
readline                  8.2                  h5eee18b_0  
setuptools                68.2.2          py311h06a4308_0  
sqlite                    3.41.2               h5eee18b_0  
sympy                     1.12            py311h06a4308_0  
tbb                       2021.8.0             hdb19cb5_0  
tk                        8.6.12               h1ccaba5_0  
typing-extensions         4.9.0           py311h06a4308_1  
typing_extensions         4.9.0           py311h06a4308_1  
tzdata                    2023d                h04d1e81_0  
wheel                     0.41.2          py311h06a4308_0  
xz                        5.4.5                h5eee18b_0  
zlib                      1.2.13               h5eee18b_0 

发现确实没安装任何cuda库,而pytorch的版本我们也可以看到确实cpu版本pytorch 2.1.0 cpu_py311h6d93b4c_0

conda安装GPU版本的pytorch

如何安装gpu版本的pytorch呢?我们继续
我们查看一下pytorch可安装的版本

$ conda search pytorch
Loading channels: done
# Name                       Version           Build  Channel
...
pytorch                       1.13.1 gpu_cuda113py39h0809116_0  pkgs/main           
pytorch                       1.13.1 gpu_cuda113py39h09dffc6_0  pkgs/main           
pytorch                       1.13.1 gpu_cuda113py39h926b89d_1  pkgs/main           
pytorch                       1.13.1 gpu_cuda113py39hde3f150_1  pkgs/main           
pytorch                        2.0.1 cpu_py310hab5cca8_0  pkgs/main           
pytorch                        2.0.1 cpu_py310hdc00b08_0  pkgs/main           
pytorch                        2.0.1 cpu_py311h53e38e9_0  pkgs/main           
pytorch                        2.0.1 cpu_py311h6d93b4c_0  pkgs/main           
pytorch                        2.0.1 cpu_py38hab5cca8_0  pkgs/main           
pytorch                        2.0.1 cpu_py38hdc00b08_0  pkgs/main           
pytorch                        2.0.1 cpu_py39hab5cca8_0  pkgs/main           
pytorch                        2.0.1 cpu_py39hdc00b08_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py310h7799f5a_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py310he342708_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py311h7668aad_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py311hce0f3bd_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py38h7799f5a_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py38he342708_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py39h7799f5a_0  pkgs/main           
pytorch                        2.0.1 gpu_cuda118py39he342708_0  pkgs/main           
pytorch                        2.1.0 cpu_py310hab5cca8_0  pkgs/main           
pytorch                        2.1.0 cpu_py310hdc00b08_0  pkgs/main           
pytorch                        2.1.0 cpu_py311h53e38e9_0  pkgs/main           
pytorch                        2.1.0 cpu_py311h6d93b4c_0  pkgs/main           
pytorch                        2.1.0 cpu_py38hab5cca8_0  pkgs/main           
pytorch                        2.1.0 cpu_py38hdc00b08_0  pkgs/main           
pytorch                        2.1.0 cpu_py39hab5cca8_0  pkgs/main           
pytorch                        2.1.0 cpu_py39hdc00b08_0  pkgs/main 

我们可以看到,2.1.0版本的,Build列中,有点的cpu有的是gpu,那么如何安装时指定安装带gpu表示的版本的呢?

我们只需制定版本号的同时,指定build即可

$ conda create -n pyt-gpu
$ conda activate pyt-gpu
$ conda install pytorch=2.0.1=gpu_cuda118py39he342708_0
...
The following NEW packages will be INSTALLED:_libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu blas               pkgs/main/linux-64::blas-1.0-mkl ca-certificates    pkgs/main/linux-64::ca-certificates-2023.12.12-h06a4308_0 cffi               pkgs/main/linux-64::cffi-1.16.0-py39h5eee18b_0 cudatoolkit        pkgs/main/linux-64::cudatoolkit-11.8.0-h6a678d5_0 cudnn              pkgs/main/linux-64::cudnn-8.9.2.26-cuda11_0 cupti              pkgs/main/linux-64::cupti-11.8.0-he078b1a_0 filelock           pkgs/main/linux-64::filelock-3.13.1-py39h06a4308_0 gmp                pkgs/main/linux-64::gmp-6.2.1-h295c915_3 gmpy2              pkgs/main/linux-64::gmpy2-2.1.2-py39heeb90bb_0 intel-openmp       pkgs/main/linux-64::intel-openmp-2023.1.0-hdb19cb5_46306 jinja2             pkgs/main/linux-64::jinja2-3.1.3-py39h06a4308_0 ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 libffi             pkgs/main/linux-64::libffi-3.4.4-h6a678d5_0 libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 libprotobuf        pkgs/main/linux-64::libprotobuf-3.20.3-he621ea3_0 libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 magma              pkgs/main/linux-64::magma-2.7.1-h2c23e93_0 markupsafe         pkgs/main/linux-64::markupsafe-2.1.3-py39h5eee18b_0 mkl                pkgs/main/linux-64::mkl-2023.1.0-h213fc3f_46344 mkl-service        pkgs/main/linux-64::mkl-service-2.4.0-py39h5eee18b_1 mkl_fft            pkgs/main/linux-64::mkl_fft-1.3.8-py39h5eee18b_0 mkl_random         pkgs/main/linux-64::mkl_random-1.2.4-py39hdb19cb5_0 mpc                pkgs/main/linux-64::mpc-1.1.0-h10f8cd9_1 mpfr               pkgs/main/linux-64::mpfr-4.0.2-hb69a4c5_1 mpmath             pkgs/main/linux-64::mpmath-1.3.0-py39h06a4308_0 ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 networkx           pkgs/main/linux-64::networkx-3.1-py39h06a4308_0 ninja              pkgs/main/linux-64::ninja-1.10.2-h06a4308_5 ninja-base         pkgs/main/linux-64::ninja-base-1.10.2-hd09550d_5 numpy              pkgs/main/linux-64::numpy-1.26.3-py39h5f9d8c6_0 numpy-base         pkgs/main/linux-64::numpy-base-1.26.3-py39hb5e798b_0 openssl            pkgs/main/linux-64::openssl-3.0.13-h7f8727e_0 pip                pkgs/main/linux-64::pip-23.3.1-py39h06a4308_0 pycparser          pkgs/main/noarch::pycparser-2.21-pyhd3eb1b0_0 python             pkgs/main/linux-64::python-3.9.18-h955ad1f_0 pytorch            pkgs/main/linux-64::pytorch-2.0.1-gpu_cuda118py39he342708_0 readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0 setuptools         pkgs/main/linux-64::setuptools-68.2.2-py39h06a4308_0 sqlite             pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0 sympy              pkgs/main/linux-64::sympy-1.12-py39h06a4308_0 tbb                pkgs/main/linux-64::tbb-2021.8.0-hdb19cb5_0 tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 typing-extensions  pkgs/main/linux-64::typing-extensions-4.9.0-py39h06a4308_1 typing_extensions  pkgs/main/linux-64::typing_extensions-4.9.0-py39h06a4308_1 tzdata             pkgs/main/noarch::tzdata-2023d-h04d1e81_0 wheel              pkgs/main/linux-64::wheel-0.41.2-py39h06a4308_0 xz                 pkgs/main/linux-64::xz-5.4.5-h5eee18b_0 zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 
Proceed ([y]/n)? 

安装时,从提示安装的依赖我们可以看出,这个版本确实带上了cuda相关包cudatoolkitcudnn,这次安装显然时间长了很多,包的大小也近2G

安装完成后,我们再次确认一下cuda加速是否可用;

同样,我们先安装一个ipython

$ conda install ipython

进入ipython后,依次执行如下代码import torchtorch.cuda.is_available()

$ ipython
Python 3.9.18 (main, Sep 11 2023, 13:41:44) 
Type 'copyright', 'credits' or 'license' for more information
IPython 8.15.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: import torchIn [2]: torch.cuda.is_available()
Out[2]: True

这次cuda可以正常工作,到此完成gpu版本的pytorch安装

当然不是采用conda安装的话,希望自己手鲁,从nvidia驱动、cuda、cudnn这些库开始手动一个个安装好后,最后再安装pytorch也是可以的;关于pytorch手动安装方式,这里给出官方地址,点这里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/682103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试-测试用例研究-如何编写一份优秀的测试用例

什么是测试用例 测试用例是一组由测试输入、执行条件、预期结果等要素组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档。测试用例是软件测试的核心,它把测试系统的操作步骤用文档的形式描述出来&#xf…

安装Centos系统

1.镜像安装 镜像安装:Centos7安装 2.安装过程(直接以图的形式呈现) 选择你已经下载好的镜像 回车即可,等待安装 等待安装即可

2月7号寒假作业

第七章 运算符重载 一、填空题 1、在下列程序的空格处填上适当的字句&#xff0c;使输出为&#xff1a;0&#xff0c;2&#xff0c;10。 #include <iostream> #include <math.h> class Magic {double x; public: Magic(double d0.00):x(fabs(d)) {} Mag…

华为机考入门python3--(13)牛客13-句子逆序

分类&#xff1a;列表 知识点&#xff1a; 列表逆序&#xff08;和字符串逆序是一样的&#xff09; my_list[::-1] 题目来自【牛客】 def reverse_sentence(sentence): # 将输入的句子分割words sentence.split() # 将单词逆序排列 words words[::-1] # 将单词用空…

算法刷题 DAY50

70.爬楼梯 int climbStairs(int n) {int dp[50] {0};//dp[i]代表上到该楼梯有多少种方法// dp[0]无意义dp[1] 1;d[2] 2;if (n 1 || n 2)return dp[n];for (int i 3; i < n; i) {//从3开始dp[i] dp[i - 2] dp[i - 1];}return dp[n]; } 746. 使用最小花费爬楼梯 //…

VueCLI核心知识1:ref属性、props配置、mixin混入

1 ref 属性 ref属性类似于js原生获取DOM元素 <template><div><h1 v-text"msg" ref"title"></h1><button click"showDom">点我输出上方的Dom元素</button><School ref"sch"></School>…

漫漫数学之旅018

文章目录 经典格言数学习题古今评注名人小传 - 库尔特哥德尔 经典格言 一个毫无自由的社会——一个人凡事都要遵循严格统一的规则——将在行为上既不一致也不完全&#xff0c;甚至不能解决某些也许很重要的问题。——库尔特哥德尔&#xff08;Kurt Gdel&#xff09; 库尔特哥德…

Linux_信号

一个进程退出有两种情况&#xff1a;1.正常执行完毕。2.程序执行中异常退出。第一种情况可以通过进程退出码来获取进程执行结果&#xff0c;第二种情况需要通过信号来判断进程异常退出原因。那么进程在什么样的条件下会产生信号&#xff0c;进程又是怎样处理产生的信号呢&#…

算法沉淀——字符串(leetcode真题剖析)

算法沉淀——字符串 01.最长公共前缀02.最长回文子串03.二进制求和04.字符串相乘 01.最长公共前缀 题目链接&#xff1a;https://leetcode.cn/problems/longest-common-prefix/ 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串…

力扣hot1--哈希

推荐一个博客&#xff1a; 一文看懂哈希表并学会使用C STL 中的哈希表_哈希表end函数-CSDN博客 哈希做法&#xff1a; 我们将nums[i]记为key&#xff0c;将i记为value。 判断target-nums[i]是否在哈希表中&#xff0c;如果在说明这两个值之和为target&#xff0c;那么返回这两…

【seata自动化治愈数据库问题解决方案】

wu-database-lazy-seata-cure-plus-starter 描述 针对saas 数据库隔离情况下&#xff0c;每次版本迭代都需要重新修改对应的数据库&#xff0c;对于升级与运维存在一定的难度&#xff0c;那么这个数据库治愈框架来了&#xff0c;使用场景如下 1.数据库不存在自动创建数据库 …

剑指offer——旋转数组的最小数字

目录 1. 题目描述2. 分析思路2.1 示例分析 3. 更完美的做法 1. 题目描述 把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。输入一个递增排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。例如数组{3.4,5,1.2}为{1.2,3,4,5}的一个旋转&a…

神经网络:卷积神经网络中的BatchNorm

一、BN介绍 1.原理 在机器学习中让输入的数据之间相关性越少越好&#xff0c;最好输入的每个样本都是均值为0方差为1。在输入神经网络之前可以对数据进行处理让数据消除共线性&#xff0c;但是这样的话输入层的激活层看到的是一个分布良好的数据&#xff0c;但是较深的激活层…

C语言——oj刷题——字符串左旋

问题&#xff1a; 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 实现&#xff1a; 当我们谈到字符串左旋时&#xff0c;我们指的是将字符串中的字符向左移动一定数量的位置。这个问题在编程中…

揭秘某电商公司最新面试流程

&#x1f3c3;‍♂️ 微信公众号: 朕在debugger© 版权: 本文由【朕在debugger】原创、需要转载请联系博主&#x1f4d5; 如果文章对您有所帮助&#xff0c;欢迎关注、点赞、转发和订阅专栏&#xff01; 记录近期某电商公司面试流程及问题&#xff0c;分为三面&#xff1a;…

Hive的相关概念——分区表、分桶表

目录 一、Hive分区表 1.1 分区表的概念 1.2 分区表的创建 1.3 分区表数据加载及查询 1.3.1 静态分区 1.3.2 动态分区 1.4 分区表的本质及使用 1.5 分区表的注意事项 1.6 多重分区表 二、Hive分桶表 2.1 分桶表的概念 2.2 分桶表的创建 2.3 分桶表的数据加载 2.4 …

Android 11.0 framework中禁止某个无源码app使用分屏功能

1.前言 在11.0的系统rom定制化开发中,在app中多窗口模式中,分屏模式也是其中的一种模式,可以通过app内部设置分屏的属性,然后实现 app启动的时候分屏功能,在无源码的app中就没办法更改。就需要在安装的时候修改这个属性,接下来实现这个功能 2.framework中禁止某个无源码…

【计算机网络】网际协议——互联网中的转发和编址

编址和转发是IP协议的重要组件 就像这个图所示&#xff0c;网络层有三个主要组件&#xff1a;IP协议&#xff0c;ICMP协议&#xff0c;路由选择协议IPV4 没有选项的时候是20字节 版本&#xff08;号&#xff09;&#xff1a;4比特&#xff1a;规定了IP协议是4还是6首部长度&am…

作业2.14

指针练习 1、选择题 1.1、若有下面的变量定义&#xff0c;以下语句中合法的是&#xff08;A&#xff09;。 int i&#xff0c;a[10]&#xff0c;*p&#xff1b; A&#xff09; pa2; B&#xff09; pa[5]; C&#xff09; pa[2]2; D&#xff09; p&(i2); 1.2、…

Servlet JSP-Eclipse安装配置Maven插件

Maven 是一款比较常用的 Java 开发拓展包&#xff0c;它相当于一个全自动 jar 包管理器&#xff0c;会导入用户开发时需要使用的相应 jar 包。使用 Maven 开发 Java 程序&#xff0c;可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在 Eclipse 里安装和配置 Maven 插…