码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在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函数进行调用了。

    1. if __name__ == '__main__':
    2. bzr_dataset = load_local_data('./data', 'bzr', attributes=True)
    3. X, y = zip(*bzr_dataset)
    4. 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
    5. X_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.33, random_state=42)# see
    6. pscn.fit(X_train, y_train)
    7. preds = pscn.predict(X_test)
    8. np.sum(preds == y_test) / len(y_test)

     

  • 相关阅读:
    聚观早报|蔚来汽车首颗自研芯片;中式汉堡正打破“麦门永存”
    职场经验|项目管理发展方向有哪些?
    RAG 高级应用:基于 Nougat、HTML 转换与 GPT-4o 解析复杂 PDF 内嵌表格
    JVM进阶(1)
    “智慧时代的引领者:探索人工智能的无限可能性“
    LeetCode.15. 三数之和
    花了2个晚上,拿到了吴恩达@斯坦福大学的机器学习课程证书
    cnpm i报错:node-sass@^6.0.1 run postinstall node scripts/build.js error
    95后们,为什么你借不到钱了?
    GIN 介绍
  • 原文地址:https://blog.csdn.net/qq_30204577/article/details/128135845
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号