申请专栏作者
投稿发布
您的当前位置:主页 > yabo体育平台注册页 > 正文

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

来源:未知 时间:2019-03-23
请点击下面的广告后浏览!

可思yabo88滚球-www.sykv.cn,sykv.com

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

可思yabo88滚球-www.sykv.cn,sykv.com

“CNN已老,GNN当立!” 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

当科学家们发现,图神经网络?(GNN) 能搞定传统CNN处理不了的非欧yabo88滚球,从前深度学习解不开的许多问题都找到了钥匙。 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

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

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

可思yabo88滚球-www.sykv.cn,sykv.com

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

可思yabo88滚球-人工智能资讯平台sykv.com

这个库还很快,比起前辈DGL图网络库,PyG最高可以达到它的15倍速度。 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

应有尽有的库

要跑结构不规则的yabo88滚球,就用PyG吧。不管是图形?(Graphs),点云?(Point Clouds) 还是流形(Manifolds) 。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

可思yabo88滚球-www.sykv.cn,sykv.com

△ 右边是不规则的,非欧空间 可思yabo88滚球-www.sykv.cn,sykv.com

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

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

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

可思yabo88滚球-www.sykv.cn,sykv.com

到底能多快?PyG的两位作者用英伟达GTX 1080Ti做了实验。 可思yabo88滚球sykv.com,sykv.cn

对手DGL,也是图网络库:

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

在四个yabo88滚球集里,PyG全部比DGL跑得快。最悬殊的一场比赛,是在Corayabo88滚球集上运行GAT模型:跑200个epoch,对手耗时33.4秒,PyG只要2.2秒,相当于对方速度的15倍。 可思yabo88滚球-www.sykv.cn,sykv.com

每个算法的实现,都支持了CPU计算和GPU计算。 可思yabo88滚球-人工智能资讯平台sykv.com

食用方法

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

可思yabo88滚球-人工智能资讯平台sykv.com

可思yabo88滚球sykv.com,sykv.cn

△ 其中一位

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

他们说,有了PyG,做起图网络就像一阵微风。 内容来自可思yabo88滚球sykv.com

你看,实现一个边缘卷积层 (Edge Convolution Layer) 只要这样而已: 可思yabo88滚球sykv.com

 可思yabo88滚球-www.sykv.cn,sykv.com 
  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里: 内容来自可思yabo88滚球sykv.com

 

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

  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吧。 可思yabo88滚球sykv.com,sykv.cn

PyG项目传送门:

可思yabo88滚球sykv.com

https://github.com/rusty1s/pytorch_geometric

可思yabo88滚球-www.sykv.cn,sykv.com

PyG主页传送门:

可思yabo88滚球-www.sykv.cn,sykv.com

https://rusty1s.github.io/pytorch_geometric/build/html/index.html 内容来自可思yabo88滚球sykv.com

PyG论文传送门:

可思yabo88滚球sykv.com

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

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片 匿名?

关于我们?? 免责声明?? 广告合作?? 版权声明?? 联系方式?? 原创投稿?? 网站地图??

Copyright?2005-2019 Sykv.com 可思yabo88滚球 版权所有 ?? ICP备案:京ICP备14056871号

人工智能资讯?? 人工智能资讯?? 人工智能资讯?? 人工智能资讯

?扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部
关闭