目标:我正在尝试将网络中的图形导入 PyTorch 几何图形并设置标签和节点特征。
(这是Python中的)
问题):
from_networkx功能)我看过一些其他/以前的帖子有这个问题,但他们没有得到回答(如果我错了,请纠正我)。
尝试:(我刚刚在下面使用了一个不切实际的例子,因为我无法在这里发布任何真实的内容)
让我们想象一下我们正在尝试在一组汽车上执行图形学习任务(例如节点分类)(正如我所说的不太现实)。也就是说,我们有一组汽车、一个邻接矩阵和一些特征(例如年底的价格)。我们想要预测节点标签(即汽车的品牌)。
我将使用以下邻接矩阵:(抱歉,不能使用乳胶来格式化它)
A = [(0, 1, 0, 1, 1), (1, 0, 1, 1, 0), (0, 1, 0, 0, 1), (1, 1, 0, 0, 0) , (1, 0, 1, 0, 0)]
这是代码(适用于 Google Colab 环境):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx
from torch_geometric.utils.convert import to_networkx, from_networkx
import torch
!pip install torch-scatter torch-sparse torch-cluster …Run Code Online (Sandbox Code Playgroud) 问题:将图形从networkxpytorch 几何图形转换为图形时如何保留节点顺序/标签?
代码:(在 Google Colab 中运行)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx
import torch
from torch.nn import Linear
import torch.nn.functional as F
torch.__version__
# install pytorch geometric
!pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.10.0+cpu.html
from torch_geometric.nn import GCNConv
from torch_geometric.utils.convert import to_networkx, from_networkx
# Make the networkx graph
G = nx.Graph()
# Add some cars
G.add_nodes_from([
('Ford', {'y': 0, 'Name': 'Ford'}),
('Lexus', {'y': 1, …Run Code Online (Sandbox Code Playgroud)