The model was built using the PyTorch library with CUDA support and trained on a GPU for accelerated computation. The model's architecture consists of two graph convolutional layers (GCNConv) and a linear classifier that performs a linear transformation. In the first graph convolutional layer, the input features undergo a graph convolution operation, generating 32 output features. These output features are then normalized using a batch normalization layer. The second graph convolutional layer takes the normalized features from the previous layer and applies another graph convolution operation. Similar to the first layer, the output features are normalized using batch normalization. The rectified linear unit (ReLU) activation function is applied. This activation function ensures that negative values are set to zero while positive values remain unchanged. Following the graph convolutional layers and the ReLU activation, a global max pooling operation is performed. This operation extracts the maximum value across the feature dimension for each node in the graph. In the final step, the global max-pooled features are processed by a linear classifier that maps them to a single scalar value. It is important to note that the scalar value is always positive, with a lower bound of 0.