新手上路: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 请求传递给管道中的下一个组件。这可…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...