我正在研究 Pytorch-Geometric 文档(此处)。
在下面的代码中,我们看到data
没有train_mask
. 但是,当将输出和标签传递给损失函数时,train_mask
两者都适用。在将其输入模型时,我们不应该也应用train_mask
to吗?data
在我看来,这应该不是问题。然而,看起来我们在不用于训练模型的输出上浪费了计算。
model.train()
for epoch in range(200):
optimizer.zero_grad()
out = model(data)
loss = F.nll_loss(out[data.train_mask], data.y[data.train_mask])
loss.backward()
optimizer.step()