【亲测免费】 E(n)等变图神经网络(EGNN)项目指南
2026-01-21 05:21:24作者:冯爽妲Honey
项目概述
本指南旨在帮助开发者了解并使用从vgsatorras/egnn获取的E(n)等变图神经网络实现。此项目基于PyTorch 1.7.1,引入了一种新的模型来构建对旋转、平移、反射和排列等变换保持不变的图神经网络,即EGNN。
1. 目录结构及介绍
项目的主要目录结构如下:
egnn/
├── ae_datasets # 自动编码器数据集相关代码
├── eval # 评估脚本或函数
├── graph.py # 图操作相关的代码
├── losses.py # 损失函数定义
├── main_ae.py # 图自动编码器实验入口
├── main_nbody.py # N-body系统实验的运行脚本
├── main_qm9.py # QM9数据集上的实验脚本
├── models # 包含模型定义,如egnn_clean.py是EGNN的一个干净实现示例
│ ├── egnn_clean.py # 简化版EGNN实现
├── README.md # 项目说明文档
├── .gitignore # Git忽略文件配置
├── LICENSE # 许可证文件,采用MIT许可证
└── ... # 其它未列出的支持文件和子目录
- ae_datasets:用于图自动编码器的数据集处理。
- eval, losses.py:提供模型训练后的评估逻辑和损失函数实现。
- main_*.py:这些脚本是特定实验的入口点,如N-body系统模拟、图自动编码器实验和QM9分子性质预测。
- models:核心模型定义,其中
egnn_clean.py提供了基础的EGNN实现。
2. 启动文件介绍
主要启动文件
- main_ae.py: 用于启动图自动编码器的实验,支持不同的数据集和模型类型。
- main_nbody.py: 针对N-body系统的模拟和学习任务,可以调整参数进行不同场景下的实验。
- main_qm9.py: 在QM9分子数据集上执行预测任务,支持多种属性的学习。
示例启动流程
以运行一个简单的EGNN在N-body系统实验为例,你需要在命令行中输入:
python main_nbody.py --exp_name exp_1_egnn_vel --model egnn_vel --max_training_samples 3000 --lr 5e-4
这将开始一个使用EGNN模型、针对速度预测的N-body系统实验,训练样本数量设定为3000,学习率为0.0005。
3. 配置文件介绍
该项目并未明确提供单独的配置文件,而是通过命令行参数的方式进行配置。关键的配置项通常包括模型选择(--model)、实验名称(--exp_name)、训练样本次数(--max_training_samples)、学习率(--lr)等。在执行任何脚本之前,用户需要根据具体实验需求修改相应的命令行参数。
对于模型内部的配置(如层深、节点特征维度等),这些通常在初始化模型实例时直接通过函数参数指定,例如在Python代码中直接配置:
egnn = eg.EGNN(in_node_nf=n_feat, hidden_nf=32, out_node_nf=1, in_edge_nf=1)
这种配置方式要求用户在调用脚本或定义模型时手动设置所有必要的超参数。
通过以上信息,您可以开始探索EGNN项目,调整参数进行实验,并基于这个框架开发自己的图神经网络应用。记得查看README.md文件,了解更多细节和实验例子。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0202- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
606
4.05 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
暂无简介
Dart
848
205
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.47 K
829
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
24
0
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
923
771
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
235
152
昇腾LLM分布式训练框架
Python
130
156