复现EV_GCN
复现EV_GCN过程及遇到的问题
环境配置
##文中Prerequisites
Python 3.7.4+
Pytorch 1.4.0
torch-geometric
scikit-learn
NumPy 1.16.2
-
pytorch版本太低 ,首先安装的是1.4版本的,因为出现下面的问题
原因就是torch和torch_geometric不对应,所以没使用原文给的版本,最后安装了1.8的版本 -
但是之后,又出现了torch_geometric的问题
原因是torch_geometric版本过高,看了这个帖子解决AttributeError: module ‘torch‘ has no attribute “‘sparse_csr‘“重新卸载了torch_geometric,降低了版本
最后环境配置为,torch_geometric图片没有改过来
数据集下载获取并处理
首先更改路径,对应自己的服务器的文件路径
在data目录下,运行python fetch_data.py
这里一共有两处错误
1、 File “/root/autodl-tmp/EV_GCN-master/dataloader.py”, line 29, in load_data
site = np.zeros([num_nodes], dtype=np.int)
File “/root/miniconda3/envs/py382/lib/python3.8/site-packages/numpy/init.py”, line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module ‘numpy’ has no attribute ‘int’.
是因为在代码中使用了 np.int,但在 NumPy 1.20 及更高版本中,np.int 已经被弃用,并在更新的版本中被移除了。取而代之的是直接使用 Python 内置的 int 类型,或者指定所需的精度(如 np.int64 或 np.int32)。
修改方法:更改 np.int 为 int:
2、第二个错误是因为在 scikit-learn 的 0.24.0 版本之后,RFE 类的构造函数进行了更新。estimator 参数应该是唯一的位置参数,而 n_features_to_select 是一个关键字参数。
修改方法:使用n_features_to_select=fnum 替代了之前的位置参数 fnum。
代码运行
非常顺利
在主目录下运行
python train_eval_evgcn.py --train=1
最后运行结果
和文中差不多
收工!
有什么问题欢迎交流