举例:基于图神经网络的半监督社区检测问题
1、导入第三方库,如
import dgl
import torch
import torch.nn as nn
import torch.nn.functional as F
import itertools
2、加载图数据(有时还需要划分训练集和测试集;尤其在链接预测上还需要构造负采样数据后+将正边和负边放在一起,形成训练和测试集),下面只是举例一个简单的分类模型
from tutorial_utils import load_zachery
# ----------- 0. load graph -------------- #
g = load_zachery()
print(g)
3、节点特征和部分标签初始化
# ----------- 1. node features -------------- #
node_embed = nn.Embedding(g.number_of_nodes(), 5) # Every node has an embedding of size 5.
inputs = node_embed.weight # Use the embedding weight as the node features.
nn.init.xavier_uniform_(inputs)
print(inputs)
labels = g.ndata['club']
l