Graph neural networks (GNNs) are a type of neural network designed to handle graph-structured data. They work by aggregating information from neighboring nodes and updating the node representations accordingly. In this problem, you will implement a basic GNN using the graph convolutional layer.
**Example:** Suppose we have a graph with three nodes and two edges. We can use the graph convolutional layer to update the node representations based on the neighboring nodes.
**Constraints:** You must use NumPy to implement the graph convolutional layer. You must also use a specific activation function to update the node representations.
Test Cases
Test Case 1
Input:
[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]Expected:
[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]Test Case 2
Input:
[[7.0, 8.0], [9.0, 10.0], [11.0, 12.0]]Expected:
[[7.0, 8.0], [9.0, 10.0], [11.0, 12.0]]+ 3 hidden test cases