extractJacobian function
Implementation
void extractJacobian(NeuralNetwork nn, List<List<double>> X) {
for (var x in X) {
List<Node> inputs = [Node(x[0]), Node(x[1])];
Node output = nn.forward(inputs);
// Perform backward pass to calculate gradients and Jacobians
output.backward();
// Output the Jacobian of the final output with respect to inputs
print('Jacobian for input $x:');
for (int i = 0; i < output.jacobian!.length; i++) {
print(output.jacobian![i]);
}
}
}