问题标签 [pytorch-geometric]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
9479 浏览

pytorch - Google Colab 上的 PyTorch Geometric CUDA 安装问题

我正在使用 Google Colab 进行 CUDA 支持的 PyTorch Geometric 项目。由于默认情况下它的库不存在,因此我运行:

最近在导入torch_geometric时,由于版本升级,出现了 CUDA 版本不匹配的情况:

RuntimeError: 检测到 PyTorch 和 torch_sparse 是用不同的 CUDA 版本编译的。PyTorch 的 CUDA 版本为 10.1,torch_sparse 的 CUDA 版本为 10.0。请重新安装与您的 PyTorch 安装相匹配的 torch_sparse。

为了解决这个问题,我尝试将 conda 用于特定的 CUDA 版本:

!conda install pytorch==1.4.0 cudatoolkit=10.0 -c pytorch

然而,在运行print(torch.version.cuda)时,我得到10.1作为输出,而不是我想要的 10.0。

这是一个最近的错误,因为它在过去一周没有抛出这个问题。解决此问题的任何最佳实践?

0 投票
1 回答
859 浏览

graph - Pytorch 几何数据对象 edge_attr 用于无向图

如何为 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 矩阵中的相应边。因为图是无向的,所以我们只使用相同的特征矩阵。是正确的方法,还是有其他方法?

0 投票
0 回答
226 浏览

python - 将属性添加到数据集的对象

我对 pytorch 和 pytorch-geometric 非常陌生。我需要加载一个数据集,然后将一个属性映射到集合中稍后将在脚本中使用的每个对象。但是我不知道该怎么做。

我开始加载

然后我添加属性。我试过(值 3 仅作为示例,它将是一个 db 查询)

或者

或者

或者

但该属性始终为空。我什至尝试为 Data 类编写一个装饰器类

但是如果我尝试替换 Data 对象,它会引发错误,或者如果我使用这个解决方案TypeError: 'TUDataset' object does not support item assignment它什么也不做。

任何建议都非常感谢。谢谢你。

0 投票
1 回答
184 浏览

pytorch - PyTorch Geometric 中的时间序列数据

我有时间序列图数据。我尝试预测下一个时间段的图形表示。是否有任何图形卷积来处理时间序列数据,或者我应该使用 PyTorch Geometric Temporal 代替吗?

0 投票
0 回答
486 浏览

python-3.x - 如何将networkx数据转换为pytorch-geometric数据?

如何使用 torch_geometric.utils.convert.from_networkx() 将 networkx 图表列表加载到 pytorch-geometric Data 中?只有图形级别的标签可用。

0 投票
1 回答
1463 浏览

python - 如何将稀疏邻接矩阵转换为密集邻接矩阵?

我正在尝试将仅包含非零元素([[rows],[columns]])的索引的稀疏邻接矩阵/列表转换为在索引处包含 1 的密集矩阵,否则为 0。我找到了使用来自Pytorch几何(文档)的 to_dense_adj 的解决方案。但这并不完全符合我的要求,因为密集矩阵的形状并不像预期的那样。这是一个例子:

因此密集矩阵的大小应为 5x3(第二个数组“存储”列;在 (0,0)、(1,1)、(2,2)、(1,3) 和 ( 0,4)) 因为第一个数组中的元素小于或等于 2。

然而,

输出一个密集矩阵,但形状为 (5,5)。是否可以定义输出形状或者是否有不同的解决方案来获得我想要的?

编辑:我有一个解决方案现在可以将其转换回稀疏表示

或者有没有更好的替代方法?

0 投票
0 回答
240 浏览

pytorch - PyTorch Geometric 的手动小批量生成

0 投票
0 回答
252 浏览

python - 将自定义知识图数据加载到 pytorch 几何

我是 PyTorch 几何的新手,想知道我们如何将自己的知识图数据集加载到 PyTorch 几何 DataLoader 中。我在 CSV 文件中有我的数据,例如:在此处输入图像描述

数据集由 1000 个这样的三元组组成,
我浏览了 PyTorch 文档,但无法理解如何将这种数据与 Pytorch 几何一起使用。
我之前使用这些数据与 ampligraph 进行链接预测,并考虑尝试使用 GNN(PyTorch 几何)。
对此有任何帮助!

0 投票
1 回答
128 浏览

python - 如何以批处理格式重新格式化pytorch几何DataLoader节点功能输出?

如何将 pytorch 几何 torch_geometric.data.DataLoader batch_data 的节点特征重新格式化为 (batch_size, num_nodes_per_graph, feature_dim) 形状?

torch_geometric.data.DataLoader 生成具有 (total_num_nodes, feature_dim) 形状的 batch_data.x(节点特征)的每个批次。但我想在 model.forward() 函数中以(batch_size,num_nodes_per_each_sample_graph,feature_dim)的形式重新格式化它。有没有办法做到这一点?

例如,重新格式化

[1605, 512] --> [64, 40, 512]

这里的节点总数是 1605。但是每个样本并不完全有 40 个节点,所以我们必须用零填充它们。但是每个节点特征都有 512 维。

0 投票
0 回答
47 浏览

neural-network - 如何在pytorch几何中定义类的数量

我是图形神经网络的新手,我正在尝试使用 pytorch-geometric 来读取 sdf 文件以进行预测,

我有以下数据集作为我的输入

我希望我的目标预测看起来像

如您所见,目标小于或等于输入 x 中的节点数,其中 x = [num_nodes, num_node_features]。

我想知道如何为这样的数据集构建图神经网络?

我应该调整输入 x 的大小还是其他?

谢谢!