首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GNN的输入类型是什么?

GNN的输入类型是什么?
EN

Stack Overflow用户
提问于 2022-10-01 10:25:04
回答 1查看 184关注 0票数 1

通过阅读文章和报纸,我了解到GNN被用于

  1. 节点级预测
  2. 链路预测和
  3. 图层预测

但我对GNN的输入类型非常困惑

我有一个问题清单

  1. GNN的输入类型是什么?图或数值数据
  2. 如果GNN以图形作为输入,那么它是如何生成的?

第二编辑:通过阅读另一篇论文,我发现GNN以图形作为输入。

1

现在,我只有一个问题:如何从输入生成图形?

参考资料:

  1. 杰周a,1,甘曲崔a,1,盛定胡a,正言张a,成阳b,致远刘a,*,力峰王c,长城李c,孙茂松图神经网络:方法与应用综述“图神经网络:方法与应用综述”
EN

回答 1

Stack Overflow用户

发布于 2022-10-01 18:46:35

GNN的输入包括不同维数的对象,如属性矩阵维为n_nodes,n_node_features,邻接矩阵维为n_nodes,n_nodes取决于图-神经网络的类型。

斯皮克特拉尔是一个很好的库,有不同类型的GNN的好例子。文中还提供了如何加载数据的示例。

下面是使用tensorflow和1创建的GNN模型的示例

代码语言:javascript
运行
复制
class GIN0(Model):
    def __init__(self, channels, n_layers):
        super().__init__()
        self.conv1 = GINConv(channels, epsilon=0, mlp_hidden=[channels, channels])
        self.convs = []
        for _ in range(1, n_layers):
            self.convs.append(
                GINConv(channels, epsilon=0, mlp_hidden=[channels, channels])
            )
        self.pool = GlobalAvgPool()
        self.dense1 = Dense(channels, activation="relu")
        self.dropout = Dropout(0.5)
        self.dense2 = Dense(channels, activation="relu")

    def call(self, inputs):
        x, a, i = inputs
        x = self.conv1([x, a])
        for conv in self.convs:
            x = conv([x, a])
        x = self.pool([x, i])
        x = self.dense1(x)
        x = self.dropout(x)
        return self.dense2(x)

您还可以查看这个问题以获得更完整的GNN应用程序示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73917572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档