当前位置: 首页 > news >正文

新手上路: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。

  1. 打开 Anaconda Prompt。 开始->所有应用->Anaconda3(64-bit)
    在这里插入图片描述

  2. 输入以下命令创建新环境:

    conda create -n newdglgcn python=3.8  
    

在这里插入图片描述
在这里插入图片描述

注意:一方面,安装版本尽量不要太新,安装现在稳定的版本即可。
感兴趣可以看这里

下图中红框表示,现在比较稳定的版本
在这里插入图片描述

另一方面,许多需要复现的论文可能版本在3.8或3.9。所以我选择安装3.8版本的python。

  1. 激活新环境:
    conda activate newdglgcn
    

在这里插入图片描述

步骤 3: 安装最新版本的 PyTorch

在新环境中,我们将安装最新版本的 PyTorch。

注意下面安装包,都必须先激活环境后,在环境中使用命令。
最明显的标志是,左端出现 (你的环境名) 标志。

  1. 使用 conda 安装最新版本的 PyTorch:

这个命令可以在 pytorch 官网找到
在这里插入图片描述

选择你需要的配置,然后生成安装命令。粘贴到 Prompt 中。

conda install pytorch torchvision torchaudio cpuonly -c pytorch
  1. 验证 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官网可以找到

  1. 使用 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

第二种情况:已有项目或文件

  1. 打开刚才写好的文件或者任意一个文件
    点击 文件->设置
    在这里插入图片描述
  2. 项目:项目名:项目名称->Python解释器
    添加解释器->本地解释器
    在这里插入图片描述
    在这里插入图片描述

注意:Conda 可执行文件 安装路径\anaconda3\Scripts\conda.exe

步骤 8: 验证安装

现在,我们可以验证 PyTorch 和 DGL 是否正确安装并运行一个简单的测试。

  1. 运行以下 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)  
    
  2. 运行结果如图:

在这里插入图片描述

结论

博主现在使用的是 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仓库&#xff08;如果尚未安装&#xff09; sudo yum install epel-release导入REMI仓库的公钥&#xff1a; sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi启用REMI仓库&#xff08;你可以选择PHP 7.0或者7.4&#xff0c;以下以7.0为例&#xff09;&am…...

后端-对表格数据进行添加、删除和修改

一、添加 要求&#xff1a; 按下添加按钮出现一个板块输入添加的数据信息&#xff0c;点击板块的添加按钮&#xff0c;添加&#xff1b;点击取消&#xff0c;板块消失。 实现&#xff1a; 1.首先&#xff0c;设计页面输入框格式&#xff0c;表格首行 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. 引言 在现代应用程序开发中&#xff0c;多线程编程是一个关键技术&#xff0c;能够显著提高程序的效率和响应速度。Qt 是一个跨平台的 C 框架&#xff0c;其中 QThread 类是实现多线程编程的核心类。本文将深入详解 QThread 的基本概念、使用方法及其在实际应用中的重要性。…...

【芋道源码】gitee很火的开源项目pig——后台管理快速开发框架使用笔记(微服务版之本地开发环境篇)

后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09; 后台管理快速开发框架使用笔记&#xff08;微服务版之本地开发环境篇&#xff09;前言一、如何获取项目&#…...

设计模式、系统设计 record part01

技术路线&#xff1a; 工程师》设计师》分析师》架构师 管理路线&#xff1a; 项目经理》技术经理 工程师&#xff1a; 编程技术、测试技术 设计师&#xff1a; 工程师设计技术 分析师&#xff1a; 设计师分析技术 架构师&#xff1a; 分析师架构技术 项目经理&#xff1a; 时间…...

服务器与普通电脑的区别是什么?

服务器作为企业进行线上业务所使用的网络设备&#xff0c;大多数的用户对于服务器都有一定的了解&#xff0c;而普通的电脑则是人们在进行日常娱乐活动中经常会用到的设备&#xff0c;本文就来探讨一下服务器与普通电脑之间的区别是什么吧&#xff01; 普通的电脑就是我们通常所…...

Vue3学习(六)Vue3 + ts几种写法

前言 官网提到组合式api和选项式api 选项式api其实就是vue2的写法&#xff0c;组合式api是vue3的新写法&#xff08;组合式api可以在script中使用setup&#xff08;&#xff09;也可以使用<script setup>&#xff0c;<script setup>是setup&#xff08;&#xff…...

【前端】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如其名&#xff0c;它的作用是在对象和和对象的属性值之间设置一个代理&am…...

基于微信开发助手企鹅音乐微信小程序的设计与实现(源码+文档+讲解)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、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初阶】深入解析死锁的产生和避免以及内存不可见问题

前言&#xff1a; &#x1f308;上期博客&#xff1a;【后端开发】JavaEE初阶—线程安全问题与加锁原理&#xff08;超详解&#xff09;-CSDN博客 &#x1f525;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 ⭐️小编会在后端开发的学习中不断更新~~~ &#…...

企微群管理软件:构建高效社群运营的新引擎

在数字化营销日益盛行的今天&#xff0c;企业微信&#xff08;简称“企微”&#xff09;群作为企业与用户直接互动的重要平台&#xff0c;其管理与运营效率直接关系到企业的品牌形象、用户满意度及市场影响力。企微群管理软件&#xff0c;作为专为企微社群设计的高效管理工具&a…...

CORE 中间件、wwwroot

ASP.NET Core中间件组件是被组装到应用程序管道中以处理HTTP请求和响应的软件组件&#xff08;从技术上来说&#xff0c;组件只是C&#xff03;类&#xff09;。 ASP.NET Core应用程序中的每个中间件组件都执行以下任务。 选择是否将 HTTP 请求传递给管道中的下一个组件。这可…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、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 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

人机融合智能 | “人智交互”跨学科新领域

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