在macOS上运行PSCN-debug

一、背景

由于对比实验的需要,需要跑一下这个PSCN。机子是21款14寸MacBook Pro 。

主要有三点需要注意:

  • anaconda 环境配置
  • 代码兼容性修改
  • pynauty

先上最后的成功截图

final

二、问题解决

2.1、anaconda环境配置

一开始我是直接在pycharm上install的tensorflow,但每次一跑都会出现错误代码132,一查是tensorflow的环境没有配置好。

然后我就去安装miniforge,打开GitHub没在code页面找到python 3.9的,就下载了mambaforge,结果还是python 3.10的,还是成功地把自己的base环境升级成了3.10,吐。

后来(第二天)换了一个思路,去搜索在m1 pro上安装anaconda环境的教程,找到一个教程。这下成了。

MacBook21-m1 pro芯片安装Anaconda及TensorFlow的GPU版本(提供全部所需文件)_金色麦田~的博客-CSDN博客

2.2、代码兼容性修改

我使用的networkx版本是2.4,实际上我从2.0一直试到2.5,但是在2.4的时候查了一下,网上说G.node已经deprected了,于是就改成了nodes,这也是我解决的最后一个bug。

python - AttributeError: 'Graph' object has no attribute 'node' - Stack Overflow

d=dict((k, v) for k, v in self.nx_graph.nodes.items())

2.3、pynauty

利用下述代码安装pynauty,不需要使用作者给出的0.6.0版本,不仅不适用于m1-pro并且安装麻烦。

pip install --upgrade pynauty

另外需要将import部分中的代码改为如下:

from pynauty.graph import canon_label,Graph

不使用原来的,因为新的已经改名了

from pynauty.graph import canonical_labeling,Graph

三、未解决的问题

发现在jupyter上import PSCN时总是会出现kernel died的情况,索性就直接在pscn.py中加了个main函数进行调用了。

if __name__ == '__main__':
    bzr_dataset = load_local_data('./data', 'bzr', attributes=True)
    X, y = zip(*bzr_dataset)
    pscn=PSCN(w=35,k=5,epochs=10,batch_size=32,verbose=2,attr_dim=3,dummy_value=np.repeat(0,3)) #see receptive_field_maker_example for more details
    X_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.33, random_state=42)# see
    pscn.fit(X_train, y_train)
    preds = pscn.predict(X_test)
    np.sum(preds == y_test) / len(y_test)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值