【Python · Pytorch】Conda介绍 DGL-cuda安装

本文仅涉及DGL库介绍与cuda配置,不包含神经网络及其训练测试。

起因:博主电脑安装了 CUDA 12.4 版本,但DGL疑似没有版本支持该CUDA版本。随即想到可利用Conda创建CUDA12.1版本的虚拟环境。

起因

1. Conda环境

1.1 Conda环境简介

Conda:一个开源的 软件包管理系统环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换,这有助于进行不同的数据科学实验。

1.1.1 Conda关系

Conda 各版本间关系如下图所示:

Conda关系

  • Anaconda = Miniconda + 150高质量库
  • Miniconda = Python (多版本) + 基础库

1.1.2 Anaconda安装

Anaconda官网 Anaconda安装网址

进入安装网址,可找到Anaconda和Miniconda的安装包。

Anaconda安装

Miniconda安装

下载后完成安装步骤即可。

安装步骤

安装步骤

安装步骤

安装步骤

安装完成后,由此进入Anaconda终端。

进入终端

1.1.3 Navigator安装

Anaconda Navigator:配合Anaconda使用的可视化软件。


找到Anaconda安装路径下的scripts文件夹,以管理员身份运行cmdPowerShell窗口,执行安装命令。

conda install -c anaconda anaconda-navigator

这里在cmd中调用了这个脚本。

利用conda脚本

执行安装命令,中途需要输入y确认安装。

Navigator安装命令

Navigator安装步骤

Navigator安装步骤

安装完成后,可在开始菜单找到Anaconda Navigator,证明安装成功。

Navigator安装完成

打开即可使用 Anaconda 的可视化界面。

Anaconda Navigator

1.2 常用命令

1.2.1 Conda相关

查询conda版本

conda --version

更新conda版本

conda update conda

查看conda环境详细信息

conda info

1.2.2 环境管理

查看环境列表

conda env list
conda info --envs

创建环境

在需要特指环境的名称时 -n 等价于--name

最新Python版本

conda create --name env_name

指定Python版本

conda create --name env_name python=3.9.0

激活环境

conda activate env_name

退出环境

conda deactivate

删除环境

conda remove --name env_name --all

复制环境

conda create --name env_name --clone old_env_name

分享/备份一个虚拟环境

可通过导出 .yml 文件,快速向他人分享实验环境。

导出虚拟环境

conda env export > environment.yml

导入虚拟环境(利用cd命令切换至路径 / 更换为绝对路径)

conda env create -f environment.yml

1.2.3 包管理

镜像源配置

配置清华镜像源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

查看镜像源

conda config --show channels

安装库

安装最新版本

conda install [package]

安装指定版本

conda install [package]=[version]

删除库

当前环境

conda remove [package]

升级库

当前环境某库

conda update [package]

当前环境所有库

conda update --all

注:Conda包管理与Pip包管理相互独立,彼此不能删除对方安装的库,一般不在Conda与Pip中安装相同的库。

2. DGL库 & cuda版本

2.1 DGL库 简介

DGL

DGL,全称为Deep Graph Library(深度图库),是一个用于处理图结构数据的Python库。

它提供了用于图神经网络(Graph Neural Networks,GNNs)和图分析的工具和接口。

DGL的主要目标是简化图深度学习的开发,并使其更容易应用于各种任务,包括节点分类、链接预测、图分类、图生成等。

其相较于原实现内存开销更小、训练速度更快,可结合NetworkX实现图数据的可视化。


官方网站:DGL官网

Why DGL?

为什么选择DGL?

In the last few years, deep learning has enjoyed plenty of extraordinary successes. Many challenging tasks have been solved or close to being solved by Deep Learning, such as image recognition, rich-resource machine translation, game playing. These were made possible by a set of techniques that are composed of a number of representationally powerful building-blocks, such as convolution, attention and recurrence, applied to images, video, text, speech and beyond.

在过去的几年里,深度学习取得了许多非凡的成功。深度学习已经解决或接近解决了许多具有挑战性的任务,如图像识别、资源丰富的机器翻译、游戏等。这些都是通过一系列技术实现的,这些技术由许多具有代表性的强大构建模块组成,例如卷积、注意力和递归,应用于图像、视频、文本、语音等领域。

The development and deployment of these techniques often depend on the simple correlation of the given data; for example, CNN is based on the spatial correlation between nearby pixels while RNN family dwells on the assumption that its input is sequence-like.

这些技术的发展和部署往往取决于给定数据的简单相关性;例如,CNN基于附近像素之间的空间相关性,而RNN家族则假设其输入是序列式的。

More recently, there has been a steady flow of new deep learning research focusing on graph-structured data. Some of them are more conventional graph related problems, like social networks, chemical molecules and recommender systems, where how the entity interacts with its neighborhood is as informative as, if not more than, the features of the entity itself.

最近,不断有新的深度学习研究聚焦于图结构数据。其中一些是更传统的图形相关问题,如社交网络、化学分子和推荐系统,在这些问题中,实体与其邻居的互动方式与实体本身的特征一样有信息,如果不是更多的话。

Some others nevertheless have applied graph neural networks to images, text or games. Very broadly speaking, any of the data structures we have covered so far can be formalized to graphs. For instance an image can be seen as grid of pixel, text a sequence of words… Together with matured recognition modules, graph can also be defined at higher abstraction level for these data: scene graphs of images or dependency trees of language.

然而,还有一些人将图形神经网络应用于图像、文本或游戏。从广义上讲,到目前为止我们所讨论的任何数据结构都可以形式化为图。例如,图像可以看作是像素的网格,文本可以看作是单词的序列,再加上成熟的识别模块,图也可以在更高的抽象层次上定义:图像的场景图或语言的依赖树。

To this end, we made DGL. We are keen to bringing graphs closer to deep learning researchers. We want to make it easy to implement graph neural networks model family. We also want to make the combination of graph based modules and tensor based modules (PyTorch or MXNet) as smooth as possible.

为此,我们制作了DGL。我们热衷于让图表更接近深度学习研究人员。我们希望使图神经网络模型族的实现变得容易。我们还希望使基于图的模块和基于张量的模块(PyTorch或MXNet)的组合尽可能平滑。

——以上内容摘自 DGL官网

2.2 DGL库 cuda版本

本文介绍安装DGL-cuda库,配置cuda环境相关内容 可参考博客:配置cuda环境 & cuDNN库


由于Pytorch已经弃用利用conda的安装方式,所以不推荐使用conda安装。

(注:如果要使用最新的cuda版本,Python至少需要3.9版本及以上)

CUDA不支持conda

DGL库的pip命令安装方式:版本对应关系

dgl-cuda

操作系统、Python、PyTorch、Apache MXNet、TensorFlow所需版本 如下图所示。
系统+torch版本需求_表格

系统+torch版本需求

确认版本后,进入下载列表,找到所需的版本下载即可。

这里可下载cu121最新版本的DGL库,还需要下载对应版本的Pytroch库。

下载链接:DGL全列表 PyTorch全列表

全版本列表

2.3 Conda 环境 配置库

创建名为DemoConda虚拟环境

创建conda环境

创建conda环境

激活(进入) 环境,前侧括号内表示虚拟环境所处路径,后者为cmdPowerShell当前路径。

激活环境

下载 torch-2.4.1+cu121-cp39-cp39-win_amd64.whldgl-2.0.0+cu121-cp39-cp39-win_amd64.whl文件,并切换至所处路径。

切换路径

利用pip命令安装其他所需库,以下是常见pip镜像源和常用库。

常见pip镜像源

# 清华镜像
https://pypi.tuna.tsinghua.edu.cn/simple
# 中国科学技术大学
https://pypi.mirrors.ustc.edu.cn/simple
# 豆瓣
http://pypi.douban.com/simple/
# 阿里云
http://mirrors.aliyun.com/pypi/simple/

pip换源方式

# 换清华镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 换回默认源
pip config unset global.index-url

数据+数值库

pip install numpy
pip install scipy
pip install openpyxl

sk-learn库

pip install scikit-learn

JupyterLab库

pip install juyterlab

绘图相关库

pip install matplotlib
pip install seaborn
pip install networkx

PyQt6窗口库

pip install PyQt6
pip install pyqt6-tools

Pytorch库(CUDA版本)

pip install "torch-2.4.1+cu121-cp39-cp39-win_amd64.whl"

DGL库(CUDA版本)

pip install "dgl-2.0.0+cu121-cp39-cp39-win_amd64.whl"

Torchvision(CUDA版本)

pip install "torchvision-0.20.1+cu121-cp39-cp39-win_amd64.whl"

torch

dgl

安装成功后,便可执行DGL相关代码。
安装成功

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

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

相关文章

0x03 http协议和分层架构

HTTP协议 简介 Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 http协议基于TCP协议:面向连接,安全基于请求-响应模型:一次请求对应一次响应HTTP协议是无状态的协议&#xff…

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景:最近DeepSeek比较火嘛,然后在githup上也看到了GitHub Copilot,就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件,发现Proxy支持的模型比较多,通用性和适配性比较好。所以本文记录一下pro…

qt-C++笔记之QToolButton和QPushButton的区别

qt-C笔记之QToolButton和QPushButton的区别 code review! 文章目录 qt-C笔记之QToolButton和QPushButton的区别1.运行2.main.cpp3.main.pro 1.运行 QToolButton 适用于工具栏或需要较紧凑、图标化显示的场合。通过 setAutoRaise(true) 与 setToolButtonStyle(Qt::ToolButtonTe…

css的元素显示模式

一.什么是元素显示模式 作用&#xff1a;网页的标签非常多&#xff0c;不同地方会用到不同类型的标签&#xff0c;了解他们的特点可以更好的布局我们的网页。 元素显示模式就是元素(标签)以什么方式进行显示&#xff0c;比如<div>自己占一行&#xff0c;比如一行可以放多…

MySQL整体架构

目录 1 客户端 2 服务端 2.1 Server层 2.1.1 连接器 2.1.2 查询缓存 2.1.3 词法器 2.1.4 优化器 2.1.5 执行器 2.2 存储引擎层 1 客户端 ● 客户端为连接MySQL服务端的工具或者驱动&#xff0c;比如JDCB&#xff0c;ODBC等等 ● 用于连接目前服务器&#xff0c;并且发送需要执行…

【踩坑随笔】`npm list axios echarts`查看npm依赖包报错

npm list axios echarts查看npm依赖包出现以下报错&#xff0c;原因就是包的版本匹配问题&#xff0c;按照提示降axios版本或者自己升找合适的got版本&#xff0c;我这里是选择了降版本。本文记录仅做解决思路参考不一定适配大家的实际情况。 weed-detection-system1.0.0 E:\P…

大唐杯——阶段二01

03 5G寻呼 UE&#xff08;User Equipment&#xff09; UE是用户设备&#xff08;User Equipment&#xff09;的缩写&#xff0c;指的是移动通信网络中的终端设备&#xff0c;例如手机、平板电脑、物联网传感器等。 AMF&#xff08;Access and Mobility Management Function&a…

小程序画带圆角的圆形进度条

老的API <canvas id"{{canvasId}}" canvas-id"{{canvasId}}" style"opacity: 0;" class"canvas"/> startDraw() {const { canvasId } this.dataconst query this.createSelectorQuery()query.select(#${canvasId}).bounding…

SimVS: Simulating World Inconsistencies for Robust View Synthesis 论文解读

目录 一、概述 二、相关工作 三、SimVS 1、利用视频模型模拟世界的不一致性 2、效果 一、概述 该论文提出了一种名为SimVS的视频模型方法&#xff0c;旨在解决稀疏多视角图像捕捉中因动态变化&#xff08;光照变化、物体运动&#xff09;导致的视图合成鲁棒性问题。 动机&a…

华为OD机试真题:跳房子I (E卷、Java)

华为OD机试&#xff08;E卷D卷C卷&#xff09;最新题库【超值优惠】Java/Python/C合集 题目描述 跳房子&#xff0c;也叫跳飞机&#xff0c;是一种世界性的儿童游戏。 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中&#xff0c;可以向前跳&…

快速排序算法详解

算法原理 快速排序是一种分治的策略的排序算法。它的核心排序思想是将问题不断的分解为子问题。以数组为例进行介绍更容易理解&#xff0c;创建一个数组或者vector&#xff0c;假设是std::vector<int> a{3&#xff0c;2, 1, 5, 4,7}&#xff0c;要对a从小到大进行排序&a…

Windows本地Docker+Open-WebUI部署DeepSeek

最近想在自己的电脑本地部署一下DeepSeek试试&#xff0c;由于不希望污染电脑的Windows环境&#xff0c;所以在wsl中安装了ollama&#xff0c;使用ollama拉取DeepSeek模型。然后在Windows中安装了Docker Desktop&#xff0c;在Docker中部署了Open-WebUI&#xff0c;最后再在Ope…

题解 | 牛客周赛82 Java ABCDEF

目录 题目地址 做题情况 A 题 B 题 C 题 D 题 E 题 F 题 牛客竞赛主页 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 判断字符串第一个字符和第三个字符是否相等 import java.io.*; import java.math.*; import java.u…

Codeforces Round 1007 (Div. 2)(ABCD1)

A. The Play Never Ends 翻译&#xff1a; 让我们来介绍一种双人游戏--乒乓球&#xff0c;在这种游戏中&#xff0c;胜负永远分明&#xff0c;不可能出现平局。 索赛、福福和浩海三人想用一生的时间打乒乓球。他们决定用以下方式永远打下去&#xff1a; 在每场比赛中&#xff…

swift 开发效率提升工具

安装github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安装swiftformat for xcode brew install swiftformatXcode Swift File代码格式化-SwiftFormat

蜂鸣器使用

1、蜂鸣器原理 无源蜂鸣器模块根据输入的 不同方波信号&#xff08;作为震荡源&#xff09;可以发出不同的声音。驱动电路中三极管电阻一般为1K-4K都行&#xff0c;能够让三极管导通即可。&#xff08;三极管即带箭头的部分&#xff0c;基极和发射机&#xff08;PNP&#xff09…

drawDB:一款免费数据库设计工具

drawDB 是一款基于 Web 的免费数据库设计工具&#xff0c;通过拖拽、复制、粘贴等方式进行数据库建模设计&#xff0c;同时可以生成相应的 SQL 脚本。 功能特性 drawDB 目前可以支持 MySQL、MariaDB、PostgreSQL、SQL Server 以及 SQLite 数据库&#xff0c;核心功能包括&…

【AI论文】将1568个标记压缩到单个向量中并再解压:探索嵌入空间容量的极限

摘要&#xff1a;近期&#xff0c;一系列研究致力于解决将标记序列压缩为更短的实值向量序列的问题&#xff0c;这些向量序列将作为输入&#xff0c;替代标记嵌入或键值缓存。这些方法有助于减少现有语言模型中的计算量。尽管使用了强大的模型作为编码器&#xff0c;但无损压缩…

【JavaWeb学习Day20】

Tlias智能学习系统 员工登录 三层架构&#xff1a; Controller&#xff1a;1.接收请求参数&#xff08;用户名&#xff0c;密码&#xff09;2.调用Service方法3.响应结果 具体实现&#xff1a; /*** 登录*/ ​ PostMapping("/login") public Result login(Reque…

.net开源商城_C#开源商城源码_.netcore开源商城多少钱

在现今的电子商务领域&#xff0c;开源商城系统为企业和开发者提供了丰富的选择和可能性。其中&#xff0c;.NET开源商城、C#开源商城源码以及.NET Core 开源商城备受关注。然而&#xff0c;对于这些开源商城的价格问题&#xff0c;往往是人们在选择时需要重点考虑的因素之一。…