PyTorch与PyTorch Geometric的安装过程
作者:子非闕 发布时间:2021-12-15 05:00:08
PyTorch与PyTorch Geometric的安装
GPU与CUDA,Python,PyTorch的匹配
1. 查看Linux系统中GPU的基础信息/NVIDIA Driver Version
nvidia-smi
nvidia-smi是nvidia 的系统管理界面 ,其中smi是System management interface的缩写,它可以收集各种级别的信息,查看显存使用情况。此外, 可以启用和禁用 GPU 配置选项 (如 ECC 内存功能)。
系统的Nvidia Driver Version决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nvidia Driver是向下兼容的,详情如下(见Table 3. CUDA Toolkit and Corresponding Driver Versions):
2. 查看当前CUDA版本:
cat /usr/local/cuda/version.txt
我自己的环境最高可支持10.1版本的cuda和cudatoolkit,当前是10.0,版本向下兼容,并无什么问题。
3. CUDA Toolkit匹配PyTorch
CUDA Toolkit 和PyTorch的对应关系(见官网)
! 注意事项:服务器本身的CUDA版本与虚拟环境中安装的cudatoolkit包没有太大关系,一般安装pytorch时需要考虑的cuda版本指的应该是虚拟环境中安装的cudatoolkit包的版本
由于我需要用到v1.6.0的Pytorch,因此自己在虚拟环境里安装v10.1的CUDA Toolkit,系统GPU可接受最高版本v10.1。
torch与torchvision对应关系如下(详情见PyTorch / Vision):
因此,我需要安装的如下:
CUDA Toolkit == 10.1
Python == 3.7
PyTorch == 1.6
安装PyTorch
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
安装完成后可通过以下命令检查torch版本及对应的CUDA版本:
python -c "import torch; print(torch.__version__)"
python -c "import torch; print(torch.version.cuda)"
再通过以下命令查看GPU是否可用:
python
>>> import torch
>>> torch.cuda.is_available() # GPU是否可用
>>> torch.cuda.device_count()# GPU数量
>>> torch.cuda.current_device()# 当前GPU
>>> exit()
注意,GPU devices从0开始编号。
安装PyTorch Geometric
1. 快速安装
根据官网,如果PyTorch版本≥1.8.0,可以快速下载:
2. 自定义安装
自定义下载需要根据当前的PyTorch版本和CUDA版本下载相关的依赖,下载命令如下:
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
pip install torch-geometric
其中, ${TORCH}替换为当前环境下的PyTorch版本,目前支持1.4.0、1.5.0、1.6.0、1.7.0、1.7.1、1.8.0、1.8.1、和1.9.0; ${CUDA}替换为指定的CUDA版本,目前支持cpu、cu92、cu101、cu102、cu110和cu111。
例如对于PyTorch 1.6.0和CUDA 10.1:
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-geometric
3. 版本依赖
使用自定义安装时,依然可能会出现安装失败的问题,因为pytorch_geometric几个相关库之间有比较强的依赖关系,建议是在自定义安装的基础上指定对应库的版本,例如对于pytorch1.6.0和cuda10.1:
pip install torch-scatter==2.0.5 -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-cluster==1.5.8 -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-sparse==0.6.7 -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-spline-conv==1.2.0 -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
pip install torch-geometric==1.6.1 -f https://pytorch-geometric.com/whl/torch-1.6.0+cu101.html
来源:https://blog.csdn.net/Fheonixw/article/details/123596839


猜你喜欢
- 今天我们来一起看看Dreamweaver MX 2004在加密FTP 传送 方面的新功能。我们一般在做
- 在实际工作或面试中,我们经常会遇到“数组去重”问题,接下来就是使用js实现的数组去重的多种方法:1.将数组的每一个元素依次与其他元素做比较,
- 如下所示:#! /usr/bin/env python# coding=utf-8#############################
- 本文实例讲述了Python使用当前时间、随机数产生一个唯一数字的方法。分享给大家供大家参考,具体如下:Python生成当前时间很简单,比Ja
- 本文实例为大家分享了python实现梯度下降算法的具体代码,供大家参考,具体内容如下简介本文使用python实现了梯度下降算法,支持y =
- 人生苦短,菜鸟学Python!今天,我们会一次性分享6个堪称神仙的内置函数。在很多计算机书籍中,它们也通常作为高阶函数来介绍。而我自己在日常
- 近来武汉肺炎肆虐全国,大多人的日常应该是宅在家里。出于好奇,笔者想用Python来绘制中国2020肺炎疫情地图。本代码采用Python3,需
- 解析器解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程.本质就是对请求体中的数据进行解析.Content-
- 前言:随着移动端的普及出现了很多的移动 APP,应用软件也随之流行起来。最近又捡起来了英雄联盟手游,感觉还行,PC 端英雄联盟可谓是爆火的游
- 在vue-cli3中,公共文件夹由static变成了public先把要访问的json放到public文件夹下使用axios的get方法获取,
- 对着谷歌大神膜拜了一下午, 终于让我找到了一款免费的,国产货!!外观虽然不能跟老外的比,但是功能还挺全,实用就好。下载地址:http://x
- 模块之turtle小故事前两天朋友说:“常文啊!听说你会python,那能不能用python画一些好看的图呢?”然后我特意去学了一下turt
- 本文实例讲述了JavaScript观察者模式原理与用法。分享给大家供大家参考,具体如下:观察者模式观察者模式又叫发布订阅模式(Publish
- 实现了在一个字段存储以逗号分隔的字符串,返回一个相应的列表from django import formsfrom django.db im
- 名称空间名称空间(namespaces):用于存放名字与内存地址绑定关系的地方,是对栈区的划分作用:名称空间可以使栈区中存放相同的名字,从而
- 1、update delete insert 这种语句都需要commit或者直接在连接数据库的时候加上autocommit=Trueimpo
- 线性回归是一种常见的机器学习算法,也是人工智能中常用的算法。它是一种用于预测数值型输出变量与一个或多个自变量之间线性关系的方法。例如,你可以
- 国外有很多优秀的文章可以用来学习,我决定花些时间翻译。我并不知道这篇文章有没有人翻译过,原文名 10 Awful IE Bugs and F
- 我们的搜索示例仍然相当地简单,特别从数据验证方面来讲;我们仅仅只验证搜索关键值是否为空。 然后许多HTML表单包含着比检测值是否为空更为复杂
- 以下内容来自CHATGPT,其中PGADMIN经实验,有效1、在MYSQL中使用:可以使用GROUP_CONCAT函数来实现相同名称的多行字