1

如何为 pytorch 几何数据对象中的无向图构建一个edge_attr 列表。假设我们有一个像这样的无向图。pytorch几何对象所需的图COO矩阵为:

[['a', 'b', 'a', 'c', 'b', 'c']
['b', 'a', 'c', 'a', 'c', 'b']]

那么如何构造 edge_attr 列表(这是一个用于每个边缘特征的 one-hot 编码向量数组)。由于该图是无向的,因此是否可以一次简单地附加两个相同的 one-hot 编码特征向量。例如,假设这些是边缘特征:

(a, b) = [0,0,0,1]
(a, c) = [1,0,0,0]
(b, c) = [0,1,0,0]

edge_attr 列表看起来像:

[[0,0,0,1], [0,0,0,1], [1,0,0,0], [1,0,0,0], [0,1,0,0], [0,1,0,0]

注意每个 one-hot 编码的特征向量是如何重复两次的,edge_attr 中的特征向量索引对应于图 COO 矩阵中的相应边。因为图是无向的,所以我们只使用相同的特征矩阵。是正确的方法,还是有其他方法?

4

1 回答 1

0

我想出的答案是肯定的。在 pytorch_geometric 的无向图中,边缘特征需要重复两次,对于 COO 矩阵中存在的每个相应连接一次。

于 2020-07-31T17:33:59.090 回答