新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL
文章目录
- 前言
- 步骤 1: 安装 Anaconda
- 步骤 2: 创建新的 Anaconda 环境
- 步骤 3: 安装最新版本的 PyTorch
- 步骤 4: 安装特定版本的 PyTorch
- 步骤 5: 安装最新版本的 DGL
- 步骤 6: 安装特定版本的 DGL
- 步骤 7: Pycharm中使用虚拟环境解释器
- 第一种情况:创建新项目
- 第二种情况:已有项目或文件
- 步骤 8: 验证安装
- 结论
前言
在数据科学和机器学习领域,Anaconda 是一个非常流行的平台,它提供了一个管理包和环境的强大工具。
在本文中,我们将逐步创建一个新的 Anaconda 环境,并在其中安装最新版本的 PyTorch 和 DGL,以及如何安装特定版本的这些库。
步骤 1: 安装 Anaconda
首先,确保你的系统上安装了 Anaconda。你可以看一下之前发布的文章(windows CPU)安装
步骤 2: 创建新的 Anaconda 环境
创建一个新的环境可以帮助你为不同的项目隔离依赖,避免版本冲突。我们将创建一个名为 newdglgcn 的环境,并指定 Python 版本为 3.8。
-
打开 Anaconda Prompt。 开始->所有应用->Anaconda3(64-bit)

-
输入以下命令创建新环境:
conda create -n newdglgcn python=3.8


注意:一方面,安装版本尽量不要太新,安装现在稳定的版本即可。
感兴趣可以看这里
下图中红框表示,现在比较稳定的版本
另一方面,许多需要复现的论文可能版本在3.8或3.9。所以我选择安装3.8版本的python。
- 激活新环境:
conda activate newdglgcn

步骤 3: 安装最新版本的 PyTorch
在新环境中,我们将安装最新版本的 PyTorch。
注意下面安装包,都必须先激活环境后,在环境中使用命令。
最明显的标志是,左端出现(你的环境名)标志。
- 使用
conda安装最新版本的 PyTorch:
这个命令可以在 pytorch 官网找到

选择你需要的配置,然后生成安装命令。粘贴到 Prompt 中。
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- 验证 PyTorch 是否正确安装:
import torch print(torch.__version__)
步骤 4: 安装特定版本的 PyTorch
如果你需要安装特定版本的 PyTorch,可以使用 PyTorch 的官方安装命令生成器。访问 PyTorch 官方网站。找到对应的命令
例如,如果你想安装 PyTorch 2.2.2 版本(Windows CPU)

你可以使用以下命令:
conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 cpuonly -c pytorch

······

或者使用 pip:
pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cpu
步骤 5: 安装最新版本的 DGL
接下来,我们将安装最新版本的 DGL。
这个命令在DGL官网可以找到
- 使用
pip安装最新版本的 DGL:

选择你需要的配置,然后生成安装命令。粘贴到 Prompt 中。
conda install -c dglteam dgl
#pip install dgl #或者直接这个应该也可以
步骤 6: 安装特定版本的 DGL
如果你需要安装特定版本的 DGL,
第一步,查看你可以安装的dgl版本
# 查看可以使用的dgl版本
conda search dgl -c dglteam

选择想安装的版本。例如,如果你想安装 DGL 0.4.3 版本,你可以使用以下命令:
# 例如安装1.1.2版本的
conda install -c dglteam dgl=1.1.2

在这里,如果你安装后运行步骤七报错,可能是版本不兼容。 推荐 这篇博客 ,可照此法,反复试探。
经试探,python3.8 可以安装的最高版本分别为 pytorch2.2.2 和dgl1.1.2 ( 对应步骤四和六 )
步骤 7: Pycharm中使用虚拟环境解释器
第一种情况:创建新项目

注意:Conda 可执行文件 安装路径\anaconda3\Scripts\conda.exe
第二种情况:已有项目或文件
- 打开刚才写好的文件或者任意一个文件
点击 文件->设置

- 项目:项目名:项目名称->Python解释器
添加解释器->本地解释器


注意:Conda 可执行文件 安装路径\anaconda3\Scripts\conda.exe
步骤 8: 验证安装
现在,我们可以验证 PyTorch 和 DGL 是否正确安装并运行一个简单的测试。
-
运行以下 Python 代码:
import torch torch.cuda.is_available() print(torch.__version__)import dgl print('DGL version:', dgl.__version__)# 创建一个简单的图 def simple_graph():import dglimport torch# 定义节点和边nodes = torch.tensor([0, 1, 2, 3])edges_src = torch.tensor([0, 1, 2])edges_dst = torch.tensor([1, 2, 3])# 创建图 g = dgl.graph((edges_src, edges_dst)) g.ndata['h'] = torch.randn((g.num_nodes(), 10)) return g g = simple_graph() print(g) -
运行结果如图:

结论
博主现在使用的是 python3.8 , pytorch2.2.2 和dgl1.1.2 ( 对应步骤四和六)
最高版本的pytorch2.4.1和最高版本的dgl 2.2.x不兼容,会报错哦~
通过以上步骤,你可以在新的 Anaconda 环境中成功安装并配置 PyTorch 和 DGL。这些工具将为你在图神经网络领域的研究和开发提供强大的支持。
相关文章:
新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL
文章目录 前言步骤 1: 安装 Anaconda步骤 2: 创建新的 Anaconda 环境步骤 3: 安装最新版本的 PyTorch步骤 4: 安装特定版本的 PyTorch步骤 5: 安装最新版本的 DGL步骤 6: 安装特定版本的 DGL步骤 7: Pycharm中使用虚拟环境解释器第一种情况:创建新项目第二种情况&am…...
centos7系统安装宝塔面板
1、开始安装 适用系统 Centos/OpenCloud/Alibaba 稳定版9.0.0 urlhttps://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec等待命令执行,安装完成&#…...
汽车总线之----J1939总线
instruction SAE J1939 是由美国汽车工程协会制定的一种总线通信协议标准,广泛应用于商用车,船舶,农林机械领域中,J1939协议是基于CAN的高层协议,我们来看一下两者之间的关系。在J1939 中,物理层和数据链路…...
基于skopt的贝叶斯优化基础实例学习实践
贝叶斯方法是非常基础且重要的方法,在前文中断断续续也有所介绍,感兴趣的话可以自行移步阅读即可: 《数学之美番外篇:平凡而又神奇的贝叶斯方法》 《贝叶斯深度学习——基于PyMC3的变分推理》 《模型优化调参利器贝叶斯优化bay…...
OJ在线评测系统 后端 用策略模式优化判题机架构
判题机架构优化(策略模式) 思考 我们的判题策略可能会有很多种 比如 我们的代码沙箱本身执行程序需要消耗时间 这个时间可能不同的编程语言是不同的 比如沙箱执行Java要额外花费2秒 我们可以采用策略模式 针对不同的情况 定义不同独立的策略 而不是把所有情况全部放在一个i…...
element ui 精确控制日期控件 date-picker
https://github.com/element-plus/element-plus/discussions/17378 -- 某组件 xxx.vue ... <el-date-pickerv-model"timeRange"type"daterange"range-separator"-"start-placeholder"开始日期"end-placeholder"结束日期"…...
centos7安装指定版本php及扩展
安装EPEL仓库(如果尚未安装) sudo yum install epel-release导入REMI仓库的公钥: sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi启用REMI仓库(你可以选择PHP 7.0或者7.4,以下以7.0为例)&am…...
后端-对表格数据进行添加、删除和修改
一、添加 要求: 按下添加按钮出现一个板块输入添加的数据信息,点击板块的添加按钮,添加;点击取消,板块消失。 实现: 1.首先,设计页面输入框格式,表格首行 2.从数据库里调数据 3.添加…...
【学习笔记】手写 Tomcat 七
目录 一、优化 Dao 1. 设置 UserDaoImpl 为单例模式 2. 创建 Dao 工厂 3. 在 Service 层获取 UserDao 的实例 二、优化 Service 1. 设置 UserServiceImpl 为单例模式 2. 创建 Service 工厂 3. 在 Servlet 层获取 Service 实现类的对象 三、优化 Servlet 1. 使用配置…...
QT开发:详解 Qt 多线程编程核心类 QThread:基本概念与使用方法
1. 引言 在现代应用程序开发中,多线程编程是一个关键技术,能够显著提高程序的效率和响应速度。Qt 是一个跨平台的 C 框架,其中 QThread 类是实现多线程编程的核心类。本文将深入详解 QThread 的基本概念、使用方法及其在实际应用中的重要性。…...
【芋道源码】gitee很火的开源项目pig——后台管理快速开发框架使用笔记(微服务版之本地开发环境篇)
后台管理快速开发框架使用笔记(微服务版之本地开发环境篇) 后台管理快速开发框架使用笔记(微服务版之本地开发环境篇) 后台管理快速开发框架使用笔记(微服务版之本地开发环境篇)前言一、如何获取项目&#…...
设计模式、系统设计 record part01
技术路线: 工程师》设计师》分析师》架构师 管理路线: 项目经理》技术经理 工程师: 编程技术、测试技术 设计师: 工程师设计技术 分析师: 设计师分析技术 架构师: 分析师架构技术 项目经理: 时间…...
服务器与普通电脑的区别是什么?
服务器作为企业进行线上业务所使用的网络设备,大多数的用户对于服务器都有一定的了解,而普通的电脑则是人们在进行日常娱乐活动中经常会用到的设备,本文就来探讨一下服务器与普通电脑之间的区别是什么吧! 普通的电脑就是我们通常所…...
Vue3学习(六)Vue3 + ts几种写法
前言 官网提到组合式api和选项式api 选项式api其实就是vue2的写法,组合式api是vue3的新写法(组合式api可以在script中使用setup()也可以使用<script setup>,<script setup>是setup(ÿ…...
【前端】ES6:Proxy代理和Reflect对象
文章目录 1 Proxy代理1.1 get方法1.2 set方法1.3 has方法1.4 this问题 2 Reflect对象2.1 代替Object的某些方法2.2 修改某些Object方法返回结果2.3 命令式变为函数行为2.4 配合Proxy 1 Proxy代理 Proxy如其名,它的作用是在对象和和对象的属性值之间设置一个代理&am…...
基于微信开发助手企鹅音乐微信小程序的设计与实现(源码+文档+讲解)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
学习Spring Boot,应该从哪里开始学起
文章目录 前言1. Java基础2. Spring框架基础3. Spring Boot入门4. 搭建Spring Boot项目5. 编写RESTful API6. 数据库操作7. 安全性和测试8. 部署和运维9. 实践和项目总结前言 学习Spring Boot,应该从哪里开始学起 学习Spring Boot,你可以从以下几个步骤开始学起: 1. Java基…...
【JavaEE初阶】深入解析死锁的产生和避免以及内存不可见问题
前言: 🌈上期博客:【后端开发】JavaEE初阶—线程安全问题与加锁原理(超详解)-CSDN博客 🔥感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 ⭐️小编会在后端开发的学习中不断更新~~~ &#…...
企微群管理软件:构建高效社群运营的新引擎
在数字化营销日益盛行的今天,企业微信(简称“企微”)群作为企业与用户直接互动的重要平台,其管理与运营效率直接关系到企业的品牌形象、用户满意度及市场影响力。企微群管理软件,作为专为企微社群设计的高效管理工具&a…...
CORE 中间件、wwwroot
ASP.NET Core中间件组件是被组装到应用程序管道中以处理HTTP请求和响应的软件组件(从技术上来说,组件只是C#类)。 ASP.NET Core应用程序中的每个中间件组件都执行以下任务。 选择是否将 HTTP 请求传递给管道中的下一个组件。这可…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

