【导读】DeepMind在Github上开源了基于Tensorflow和Sonnet的图深度学习(GraphDL)工具包。近期,DeepMind、Google大脑、MIT等各大研究机构相继发表了一系列的关于图深度学习的论文,包括关系性RNN、关系性深度强化学习、图卷积神经网络等,是目前AI算法研究的热点之一。
图深度学习(GraphDL)
关于图深度学习,我们以前写过一篇较为详细的公众号做了介绍:《图深度学习(GraphDL),下一个人工智能算法热点?一文了解最新GDL相关文章》(链接:https://mp.weixin.qq.com/s/w5ldyp00CqkX8Kp-8Aw0nQ)
DeepMind开源的图深度学习工具包Graph Nets
DeepMind开源了图深度学习工具包Graph Nets,引起了不少人的关注。自两天前正式开源以来,已经获得了500+的star:
目前最火的GCN(图卷积网络)的作者Thomas Kipf也在Twitter上转发了Graph Nets项目:
Graph Nets能做什么
图神经网络的输入包含了边的集合、点的集合以及全局属性,图神经网络的输出与输入具有同样的结构,但是属性却得到了更新,这就是Graph Nets的功能。
Graph Nets的安装
Graph Nets目前支持Linux/Mac OS,对Python版本的要求是2.7或3.4+,目前官网中没有提到对Windows的支持。直接使用pip就可以完成安装:
pip install graph_nets
Graph Nets的使用
Graph Nets官网给出了一段示例代码,从这段代码来看,Graph Nets在内部封装了对图处理的逻辑,使用者只要提供图的结构,以及对边、点、全局信息进行处理的神经网络的结构,就可以训练图神经网络:
import graph_nets as gn
import sonnet as snt
# Provide your own functions to generate graph-structured data.
input_graphs = get_graphs()
# Create the graph network.
graph_net_module = gn.modules.GraphNetwork(
edge_model_fn=lambda: snt.nets.MLP([32, 32]),
node_model_fn=lambda: snt.nets.MLP([32, 32]),
global_model_fn=lambda: snt.nets.MLP([32, 32]))
# Pass the input graphs to the graph network, and return the output graphs.
output_graphs = graph_net_module(input_graphs)
Graph Nets示例
Graph Nets提供了几个示例,包括:
最短路径:
https://colab.research.google.com/github/deepmind/graph_nets/blob/master/graph_nets/demos/shortest_path.ipynb
排序:
https://colab.research.google.com/github/deepmind/graph_nets/blob/master/graph_nets/demos/sort.ipynb
状态预测(物理):
https://colab.research.google.com/github/deepmind/graph_nets/blob/master/graph_nets/demos/physics.ipynb
END-
专 · 知
人工智能领域26个主题知识资料全集获取与加入专知人工智能服务群: 欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~
请关注专知公众号,获取人工智能的专业知识!
点击“阅读原文”,使用专知