新版torch_geometric不存在uniform、maybe_num_nodes函数问题(Prune4ED论文报错解决)

这是在复现论文"Towards accurate subgraph similarity computation via neural graph pruning"时遇到的报错。

ImportError: cannot import name 'uniform' from 'torch_geometric.nn.pool.topk_pool'

一、报错原因

论文作者使用的是2.1.0版本的torch_geometric。而我安装了2.6.0的torch_geometric。新版中已经去除了uniform和maybe_num_nodes这两个函数,所以自然 无法import。

二、解决思路

找出旧版torch_geometric中的函数源代码,将这两个函数复制到自己项目下py脚本,再from这个脚本import这两个函数。

  • step 1 创建一个新的虚拟环境,安装旧版本

新建python虚拟环境。创建环境基础教程可以看之前这一篇【Python环境配置基础】-CSDN博客

安装对应的torch 1.12.1 ,torch_geometric 2.1.0以及其他torch相关包。安装教程可以看之前分享的这一篇跑深度学习模型Ⅲ:正确安装与torch版本对应的其他torch包_requirement skipped by policy constraint: torch>=1-CSDN博客

  • step 2 找出函数源代码位置

在刚刚新建的虚拟环境下,执行以上命令,即可得到一个文件路径,如D:\....\try_time\lib\site-packages\torch_geometric\init.py。

报错位置代码,是从torch_geometric.nn.pool.topk_pool去import函数的,所以沿着这个路径去找到topk_pool文件。

访问D:\....\try_time\lib\site-packages\torch_geometric\nn\pool,打开topk_pool.py。

  • step 3 复制需要的函数代码

在topk_pool.py中搜索uniform,并找到uniform的函数定义代码,将这个函数代码复制到自己项目中的某个位置。我新建了help.py脚本,里面含uniform和maybe_num_nodes函数。

  • step 4 更改from..import 代码

将原来的

改为

再运行论文开源代码的experiment.py就不会报错啦~

相关推荐
sitellla几秒前
LocalAI:本地运行多模态 AI,它全包了
人工智能·其他
明哥聊AI3 分钟前
2026 AI Agent开发完全指南:从MCP协议到多Agent协作系统
人工智能
qiten_0074 分钟前
Selective PEFT:BitFit方法深度解析与实践
人工智能·深度学习
秋名山码民6 分钟前
拙见科技(陕西)——动态本体驱动的 超图Agentic RAG:拙见AI 面向 AI营销的企业认知系统
人工智能·科技
民乐团扒谱机7 分钟前
【微实验】从迷雾中看清世界:卡尔曼滤波的数学诗意与MATLAB实践
人工智能·算法·matlab·卡尔曼滤波·kalman
2zcode8 分钟前
基于MATLAB图像处理的细胞检测与计数分析系统设计与实现
图像处理·人工智能·matlab
字节跳动视频云技术团队17 分钟前
进球、切片、全网爆:如何打造一座跑赢热搜的赛事“AI短视频工厂”?
人工智能·音视频开发·直播
格林威19 分钟前
网口相机 vs USB相机:区别与适用场景(选型不再纠结)
人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉·工业相机
HackTwoHub26 分钟前
某单位 CMS 完整渗透链、SQL 注入→后台拿权→绕过宝塔 Waf 上线 shell
数据库·人工智能·sql·安全·网络安全·系统安全·安全架构
字节跳动视频云技术团队29 分钟前
拒绝被剧透!解密大型赛事直播背后的超低延迟黑科技
人工智能·音视频开发·直播