Oh, sorry. The adj and features are got their value from the function that load data. I added it to the code. So the adj is a square matrix, that defines the graph structure and features is variable that contains information about features of every node.
The idea here, that I need to replace the adj by the trainable parameter, so I wrap up the model in the Second class, where I create a such parameter and give it to the model. I only need to train the parameter in the SecondClass freezing parameters of GNNmodel.
Thank you for answering.