Euler中的图引擎

作者: 飞驰2019 | 来源:发表于2019-04-11 20:39 被阅读0次

    图引擎是Euler的核心,它对图中常用的算法进行了良好的封装。在Euler中,图引擎通过C++实现,以tensorflow op扩展的方式供算法调用。除了提供分布式模式用于加载规模较大的图以外,Euler也提供了本地模式用于规模相对较小的图,而这两种模式实现了一致的接口,因此对使用者是透明的。

    图的表示

    图的基本构成元素是节点和边,在Euler的图引擎中也不例外。

    节点

    节点的主要包含两部分,即节点的邻居和节点的属性,除此以外,在异构图中,节点还有不同的类型

    

    边的主要成员则为边的源节点目标节点,以及边的属性。和节点一样,边也有类型

图 1

     上图中,0号节点具有3个邻居,分别是1,2,3号节点。其中,2号和3号节点属于同一类型,0号和1号节点分属另外两种类型。另外,实线和虚线分别表示两种不同类型的边。

    属性(Feature):

    目前Euler中支持三类属性,分别为float、uint64、binary属性。虽然乍看起来这三类属性仅仅是数据类型不同,然而其用途则存在极大区别(其实这里的feature从功能上说,翻译为特征更合适)。

    Float feature:存储低维特征,通常为数值特征或one-hot编码的类别特征。

    Uint64 feature: 存储高维特征,如用户id等,即深度学习中常用的embedding类特征。

    Binary feature:存储相对原始的二进制特征,如文本描述等。在已发布的算法中,这部分特征目前尚未得到使用。

相关文章

网友评论

    本文标题:Euler中的图引擎

    本文链接:https://www.haomeiwen.com/subject/qbdniqtx.html