I'm training a Graph Convolutional Neural Network to output embeddings for nodes that I eventually want to perform classification on. I am a little confused on how the training, validation, and testing split works. I understand that I don't want the model to see the validation or test nodes during training, however can they still be a part of the graph during training(meaning my GCNN can still perform computation of validation nodes in the earlier layers but no embedding will be created for validation nodes). Or, should I completely remove validation and testing nodes from the graph, essentially creating a subgraph, and then train on that. Likewise for when performing validation should I just create a subgraph with all the validation nodes and then just compute those separately.
Overall, my question is when training/validating do we still do it over the entire graph, but the end embeddings that we compute correspond to what the train set and validation set are, or do I create completely separate graphs, one with all the training nodes and one with all the validation nodes.