0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一些优秀的Github仓库源码与框架

DPVg_AI_era 来源:lp 2019-03-20 08:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

深度学习是当前深度学习领域最热门的方向之一,图神经网络(GNN)不仅在理论上有所创新,在工业界中也真实的应用。本文介绍 Github 上热门的图神经网络源码及框架,方便研究人员和工程师上手图深度学习。

近两年来,图卷积、图注意力网络等图神经网络在学术界、工业界都有广泛的应用。虽然大多数图神经网络理论包含复杂的公式推导,但最终产出的网络结构(公式)缺一般比较简单,但这并不意味着图神经网络的实现会很简单。

导致图神经网络实现复杂的原因主要有以下几个:

以图卷积网络为例,它的原版依赖完整邻接矩阵和全部节点作为输入,对内存、显存和计算效率都造成了限制。好在目前有一些理论如 FaskGCN 可以通过 mini-batch 等方式来进行数据切分从而解决这个问题。

虽然利用稀疏矩阵可以一定程度上缓解上述问题,但依然不能处理大规模的数据。另外,由于多层网络结构的复杂,一般在实现时要同时实现稀疏版和非稀疏版的组件。

对图结构数据的预处理比较麻烦。例如在处理异构网络时,有时需要对每种类型的节点进行独立地编号、为每种关系独立建立子图等,才能将图数据转换为深度学习模型可用的数值化数据,并且任何一个细节可能都会影响算法的效率(如邻节点列表的数据结构使用 list 和 set 会导致不同的采样效率和查询效率)。

需要一些基于图的额外操作,例如 Random Walk、有类型约束的 Random Walk(Meta-path)等,由于图结构的复杂性,这些操作在单机上的实现都比较费力,更不用说在大规模分布式上。

图深度学习研究者和工业界在 Github 上开源了一些优秀的图神经网络的实现其框架,都从一定程度上去解决了上述的问题,非常值得我们借鉴。下面我们列出一些优秀的 Github 仓库:

DeepWalk / LINE

链接:

DeepWalk: https://github.com/phanein/deepwalk

LINE: https://github.com/tangjianpku/LINE

简介:

虽然 DeepWalk 和 LINE 属于网络表示学习中的算法,与现在端到端的图神经网络有一定的区别,但目前一些图神经网络应用(如社交网络、引用网络节点分类)依然使用 DeepWalk/LINE 来作为预训练算法,无监督地为节点获得初始特征表示。另外,DeepWalk 项目中的 Random Walk 也可以被直接拿来用作图神经网络的数据采样操作。

图卷积网络 GCN TensorFlow/PyTorch 版

链接:

TensorFlow:https://github.com/tkipf/gcn

PyTorch:https://github.com/tkipf/pygcn

简介:

GCN 论文作者提供的源码,该源码提供了大量关于稀疏矩阵的代码。例如如何构建稀疏的变换矩阵(这部分代码被其他许多项目复用)、如何将稀疏 CSR 矩阵变换为 TensorFlow/PyTorch 的稀疏 Tensor,以及如何构建兼容稀疏和非稀疏的全连接层等,几乎是图神经网络必读的源码之一了。

快速图卷积网络 FastGCN TensorFlow 版

链接:

https://github.com/matenure/FastGCN

简介:

FastGCN 作者提供的源码,基于采样的方式构建 mini-match 来训练 GCN,解决了 GCN 不能处理大规模数据的问题。

图注意力网络 GAT TensorFlow 版

链接:

https://github.com/PetarV-/GAT

简介:

GAT 论文作者提供的源码。源码中关于 mask 的实现、以及稀疏版 GAT 的实现值得借鉴。

Mini-batch 版图注意力网络 DeepInf

链接:

https://github.com/xptree/DeepInf

简介:

DeepInf 论文其实是 GAT 的一个应用,但其基于 Random Walk 采样子图构建 mini-batch 的方法解决了 GAT 在大规模网络上应用的问题。

DeepMind 开源的图神经网络框架Graph Nets

链接:

https://github.com/deepmind/graph_nets

简介:

基于 TensorFlow 和 Sonnet。上面的项目更侧重于节点特征的计算,而 graph_nets 同时包含节点和边的计算,可用于一些高级任务,如最短路径、物理场景模拟等。

工业级分布式图神经网络框架 Euler

链接:

https://github.com/alibaba/euler

简介:

Euler 是阿里巴巴开源的大规模分布式的图学习框架,配合 TensorFlow 或者阿里开源的 XDL 等深度学习工具,它支持用户在数十亿点数百亿边的复杂异构图上进行模型训练。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106799
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123907
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18424

原文标题:Github热门图深度学习(GraphDL)源码与框架

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    医院随访管理系统源码,三级随访系统源码,Java+Springboot,Vue,Ant-Design+MySQL5

    Java版随访系统源码,医院随访管理系统源码,三级随访系统源码,B/S前后端分离架构,自主版权,落地案例。 技术框架:Java+Springboot,Vue,Ant-Design+My
    的头像 发表于 11-08 14:48 201次阅读
    医院随访管理系统<b class='flag-5'>源码</b>,三级随访系统<b class='flag-5'>源码</b>,Java+Springboot,Vue,Ant-Design+MySQL5

    从“传统仓库”到“智能仓库”,企业能获得哪些颠覆性改变?

    对于许多制造企业而言,仓库曾是成本中心和数据黑洞——依赖手工记账、寻找货物困难、库存不准、效率瓶颈突出。而向智能仓库的转型,绝非仅仅是引入一些新技术,而是对企业物流与信息流的次彻底重
    的头像 发表于 09-28 15:02 250次阅读

    Debian和Ubuntu哪个好一些

    兼容性对比Debian和Ubuntu哪个好一些,并为您揭示如何通过RAKsmart服务器释放Linux系统的最大潜能。
    的头像 发表于 05-07 10:58 854次阅读

    如何添加一些网络上的库到mpy固件的说明或手册教程?

    下有没有关于如何添加一些网络上的库到mpy固件的说明或手册教程? 问题2: 关于mpy的image库在哪里能了解学习内部代码,只了解一些python,想知道怎么从c转换成mpy能调用的,自己写的c也能转成py调用
    发表于 04-29 08:16

    Gitee仓库镜像管理功能介绍

    现在很多开发者都不满足于只在个代码托管平台活跃,将项目同时托管于 Gitee 和 GitHub 是目前国内很多开发者的选择,既拥有更快的访问和代码推拉速度,也可以和更多国际上的优秀开发者交流。
    的头像 发表于 04-16 12:44 648次阅读
    Gitee<b class='flag-5'>仓库</b>镜像管理功能介绍

    树莓派在自动化控制项目中的一些潜在应用

    自动化控制项目中的一些潜在应用。之前,我们已经为Arduino平台探讨了相同的话题。我们确定Arduino是个出色的教育工具,但由于一些限制,它无法在工业环境中完全
    的头像 发表于 03-25 09:45 478次阅读
    树莓派在自动化控制项目中的<b class='flag-5'>一些</b>潜在应用

    收藏的一些库存,直流无刷技术+源码+论文(建议打包)

    这也是我网络上淘过来收藏的一些资料,免费跟大家起分享下,建议下载哦,收藏不易
    发表于 03-17 20:17

    docker-proxy镜像加速仓库

    自建多平台容器镜像代理服务,支持 Docker Hub, GitHub, Google, k8s, Quay, Microsoft 等镜像仓库
    的头像 发表于 03-06 16:06 796次阅读
    docker-proxy镜像加速<b class='flag-5'>仓库</b>

    解剖DeepSeek四把刀,场深到源码,大到行业,细到人心的手术盛宴

    开源表象,DeepSeek确实把代码仓库甩上了GitHub,但这套开源策略藏着精妙算计。他们公开的是经过蒸馏的“成品模型”,而非原始训练框架:就像给你组装好的乐高战舰,却藏起了设计图纸。这种半开放式开源既能吸引开发者构建生态,又
    的头像 发表于 02-23 17:21 750次阅读

    飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码

    我们前边已经介绍过Git工具,是个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以
    发表于 01-22 10:39

    AN29-关于DC-DC转换器的一些想法

    电子发烧友网站提供《AN29-关于DC-DC转换器的一些想法.pdf》资料免费下载
    发表于 01-08 13:57 0次下载
    AN29-关于DC-DC转换器的<b class='flag-5'>一些</b>想法

    云服务器Flexus X实例,Docker集成搭建Gitea私有仓库

    Gitea 私有仓库款轻量级的自托管 Git 服务,它提供了与 Github、Gitlab 等类似的功能,但允许用户在自己的服务器上部署和运行,从而完全掌控代码的存储和访问权限。
    的头像 发表于 12-29 15:51 709次阅读
    云服务器Flexus X实例,Docker集成搭建Gitea私有<b class='flag-5'>仓库</b>

    SSM框架源码解析与理解

    SSM框架(Spring + Spring MVC + MyBatis)是种在Java开发中常用的轻量级企业级应用框架。它通过整合Spring、Spring MVC和MyBatis三个框架
    的头像 发表于 12-17 09:20 1419次阅读

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核简介

    的比较及时,在遇到一些内核问题时就可以到linux官网的源码中查下是不是有相关的提交记录。 获取芯片原厂的linux源码 每个芯片原厂都有自己的git
    发表于 12-16 13:08

    飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核简介

    及时,在遇到一些内核问题时就可以到linux官网的源码中查下是不是有相关的提交记录。获取芯片原厂的linux源码每个芯片原厂都有自己的git仓库
    发表于 12-13 09:03