新的PyTorch图神经网络库,快了14倍:LeCun盛赞,GitHub 2000星

作者: 方栗子 2019-03-15 11:34:19

 

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

“CNN已老,GNN当立!”

当科学家们发现,图神经网络 (GNN) 能搞定传统CNN处理不了的非欧数据,从前深度学习解不开的许多问题都找到了钥匙。

如今,有个图网络PyTorch库,已在GitHub摘下2000多星,还被CNN的爸爸Yann LeCun翻了牌:

它叫PyTorch Geometric,简称PyG,聚集了26项图网络研究的代码实现。

这个库还很,比起前辈DGL图网络库,PyG***可以达到它的15倍速度。

应有尽有的库

要跑结构不规则的数据,就用PyG吧。不管是图形 (Graphs),点云 (Point Clouds) 还是流形(Manifolds) 。

△ 右边是不规则的,非欧空间

这是一个丰盛的库:许多模型的PyTorch实现,各种有用的转换 (Transforms) ,以及大量常见的benchmark数据集,应有尽有。

说到实现,包括Kipf等人的图卷积网络 (GCN) 和Bengio实验室的图注意力网络 (GAT) 在内,2017-2019年各大顶会的 (至少) 26项图网络研究,这里都能找到快速实现。

到底能多快?PyG的两位作者用英伟达GTX 1080Ti做了实验。

对手DGL,也是图网络库:

在四个数据集里,PyG全部比DGL跑得快。最悬殊的一场比赛,是在Cora数据集上运行GAT模型:跑200个epoch,对手耗时33.4秒,PyG只要2.2秒,相当于对方速度的15倍。

每个算法的实现,都支持了CPU计算和GPU计算。

食用方法

库的作者,是两位德国少年,来自多特蒙德工业大学。

△ 其中一位

他们说,有了PyG,做起图网络就像一阵微风。

你看,实现一个边缘卷积层 (Edge Convolution Layer) 只要这样而已:

  1.  1import torch 
  2.  2from torch.nn import Sequential as Seq, Linear as Lin, ReLU 
  3.  3from torch_geometric.nn import MessagePassing 
  4.  4 
  5.  5class EdgeConv(MessagePassing): 
  6.  6 def __init__(self, F_in, F_out): 
  7.  7 super(EdgeConv, self).__init__() 
  8.  8 self.mlp = Seq(Lin(2 * F_in, F_out), ReLU(), Lin(F_out, F_out)) 
  9.  9 
  10. 10 def forward(self, x, edge_index): 
  11. 11 # x has shape [N, F_in] 
  12. 12 # edge_index has shape [2, E] 
  13. 13 return self.propagate(aggr='max', edge_index=edge_index, x=x) # shape [N, F_out] 
  14. 14 
  15. 15 def message(self, x_i, x_j): 
  16. 16 # x_i has shape [E, F_in] 
  17. 17 # x_j has shape [E, F_in] 
  18. 18 edge_features = torch.cat([x_i, x_j - x_i], dim=1# shape [E, 2 * F_in] 
  19. 19 return self.mlp(edge_features) # shape [E, F_out] 

安装之前确认一下,至少要有PyTorch 1.0.0;再确认一下cuda/bin在$PATH里,cuda/include在$CPATH里:

  1. 1$ python -c "import torch; print(torch.__version__)" 
  2. 2>>> 1.0.0 
  3. 3 
  4. 4$ echo $PATH 
  5. 5>>> /usr/local/cuda/bin:... 
  6. 6 
  7. 7$ echo $CPATH 
  8. 8>>> /usr/local/cuda/include:... 

然后,就开始各种pip install吧。

PyG项目传送门:

https://github.com/rusty1s/pytorch_geometric

PyG主页传送门:

https://rusty1s.github.io/pytorch_geometric/build/html/index.html

PyG论文传送门:

https://arxiv.org/pdf/1903.02428.pdf

神经网络 数据 图形
上一篇:2019年机器人领域值得关注五大趋势 下一篇:人工智能大会这么多,我们不一样
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

MIT团队最新研究,仅靠LiDAR和2D地图实现端到端自动驾驶

最近, MIT 计算机科学与人工智能实验室(CSAIL)团队成功展示了一种基于机器学习的自动驾驶系统,该端到端框架仅使用 LiDAR获取的原始 3D 点云数据和类似于手机上的低分辨率 GPS 地图就能进行自主导航,并且大大提升了鲁棒性。

文龙 ·  2021-06-01 12:47:51
高真实感、全局一致、外观精细,面向模糊目标的NeRF方案出炉

自 NeRF 被提出后,有多项研究对其加以改进。在本篇论文中,上海科技大学的研究者提出了首个将显式不透明监督和卷积机制结合到神经辐射场框架中以实现高质量外观的方案。

Haimin Luo等 ·  2021-06-01 09:57:39
CV内卷!心理学家学会人脸识别,训练600万视频区分世界各地表情

机器学习又跨界发Nature啦!美国东北大学的研究员将研究成果发表在Nature上,探究世界各地人类的表情有什么不一样?结果相关率只有30%。

佚名 ·  2021-05-31 13:19:55
自动驾驶汽车领域究竟在纠结些什么?

正常来说,自动驾驶受到认可,技术路线正常迭代,同样会受到市场认可。但这个报告中,造车新势力配置L3自动驾驶,及传统车企配置L2辅助驾驶的比例却并没有显著提升,甚至还有所下降。

佚名 ·  2021-05-31 10:46:16
最快AI计算机开动,每秒4百亿亿浮点运算!正拼接最大宇宙3D地图

近日,被誉为全球最快的人工智能工作负载超级计算机——Perlmutte宣布开启。这台新超级计算机以拥有6144个英伟达A100张量核心图形处理器,将负责拼接有史以来最大的可见宇宙3D地图。

佚名 ·  2021-05-31 09:48:10
清华唐杰团队造了个“中文ai设计师”,效果超Dall·E

最近清华大学唐杰团队打造了一个“中文版Dall·E”——CogView,它可以将中文文字转图像。

晓查 ·  2021-05-31 09:45:51
中国人开始反算法:不登录、不点赞、不关注、不评论

“算法不讲武德!”越来越多年轻人发觉,生活正在被算法控制。

深燃团队 ·  2021-05-31 09:03:12
最喜欢随机森林?TensorFlow开源决策森林库TF-DF

近日,TensorFlow 开源了 TensorFlow 决策森林 (TF-DF)。TF-DF 是用于训练、服务和解释决策森林模型(包括随机森林和梯度增强树)生产方面的 SOTA 算法集合。

机器之心 ·  2021-05-28 17:18:44
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载