Full Name: Twamaa Makame
Assignment Title: EA Assignment 3
Roll Number: Z6003
This repository contains solutions for EA Assignment 3 which focuses on:
- Estimating cardiac activation times on a 2D domain using sparse data.
- Comparing traditional feedforward neural networks with Physics-Informed Neural Networks (PINNs).
- Using Neural Ordinary Differential Equations (Neural ODEs) for binary classification on a 2D dataset.
The code is organized into sections that generate synthetic data, define conduction velocity, train data-only and PINN models, visualize results, and build Neural ODE classifiers.
/EA_Assignment3/
│
├── README.md <- This file
├── requirements.txt <- Dependencies for the project
│
├── /src/ <- Python scripts and notebooks
│ ├── pinn_model.py
│ ├── ode_model.py
│ ├── data_generation.py
│ └── visualization.py
│
└── /test/ <- Optional test cases and outputs
└── sample_inputs_outputs/
-
Clone the repository: git clone[(https://github.com/twamaa/PINNs-and-Neural-ODE)]
-
Install dependencies: pip install -r requirements.txt
-
Open the Jupyter notebooks in the
/src/folder or run scripts directly for:- Generating synthetic data
- Training and evaluating both models
- Producing visualizations
See requirements.txt. Key packages include:
- numpy
- matplotlib
- torch
- torchdiffeq
- scikit-learn
- pyDOE
- The PINN model occasionally produces high RMSE if the sparse points do not sample critical wavefront boundaries.
- Neural ODE training can be slower than standard networks.
- Activation function and velocity maps are synthetic and idealized.
- Moons dataset used for Neural ODE comparison is noise-injected but simplified.