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

SpringBoot 与 Maven 快速上手指南
SpringBoot 与 Maven 快速上手指南 在Java开发领域,Spring Boot和Maven是两个极其重要的工具,它们极大地简化了企业级应用的开发和构建过程。Spring Boot通过自动配置和起步依赖等特性,让开发者能够快速搭建起一个Spring应用;而M…...

大觅网之自动化部署(Automated Deployment of Da Mi Network)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…...

【C++】入门基础知识-1
🍬个人主页:Yanni.— 🌈数据结构:Data Structure. 🎂C语言笔记:C Language Notes 🏀OJ题分享: Topic Sharing 目录 前言: C关键字 命名空间 命名空间介…...

Redis一些简单通用命令认识常用数据类型和编码方式认识Redis单线程模型
通用命令 get() / set() 这是Redis中两个最为核心的命令。 set插入 这里的key 和 value都是字符串,我们可以加双引号 或者单引号,或者不加。 get查找 如果查询的key值不存在,那么会返回一个 nil ,也就是代表空 在Redis中命令…...

使用电子模拟器 Wokwi 运行 ESP32 示例(Arduino IDE、VSCode、ESP32C3)
文章目录 Wokwi 简介安装客户端(Mac/Linux)创建 Token Arduino IDEVSCode 配置安装 wokwi 插件打开编译后目录 ESP32C3 示例Arduino IDE创建模拟器运行模拟器 Wokwi 简介 Wokwi 是一款在线电子模拟器。您可以使用它来模拟 Arduino、ESP32、STM32 以及许…...

C嘎嘎入门篇:类和对象(1)
前言: 小编在之前讲述了C的部分入门基础,读者朋友一定要掌握好那些,因为C的学习和C有点不同,C的知识都是比较连贯的,所以我们学好了前面才可以学习后面的内容,本篇文章小编将会讲述C真正的入门篇࿱…...

tomcat服务搭建部署ujcms网站
tomcat服务搭建部署ujcms网站 关闭selinux和防火墙 setenforce 0 && systemctl stop firewalld安装java环境 #卸载原有java8环境 yum remove java*#上传java软件包,并解压缩 tar -xf openjdk-11.0.1_linux-x64_bin.tar.gz && mv jdk-11.0.1 jdk11…...

unity_Occlusion_Culling遮挡剔除学习
unity_Occlusion_Culling遮挡剔除学习 文档: https://docs.unity.cn/cn/2019.4/Manual/occlusion-culling-getting-started.html没彻底搞明白,但是会用,虽然也不熟练 设置遮挡剔除 打开遮挡剔除面板 设置场景物体。设置为静态 设置场景 烘…...

vue初学随笔
Vue基础 Vue基本概念 Vue是什么 Vue是一个渐进式的JavaScript框架,它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。 渐进式:各个特性可以根据项目需要逐渐引入和…...

IDEA Dependency Analyzer 分析 maven 项目包的依赖
一、场景分析 javax.validation 是我们 SpringMVC 常用的数据校验框架。但是 javax.validation 是一个规范(Java Bean Validation,简称 JSR 380),它并没有具体的实现,它的常用实现,是hibernate-validator。…...