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