Pathology-informed Graph · Channel-wise Encoder · ChebNet
A graph-based model for EEG analysis combining pathology-informed graph construction, channel-wise encoding, and ChebNet.
Model Overview · Setup · Dataset · Train & Test · Results · Project Retrospective
AlCheNet brings together three components:
| Component | Role |
|---|---|
| Pathology-informed Graph | Incorporates pathology information into graph construction. |
| Channel-wise Encoder | Encodes EEG channel features. |
| ChebNet | Learns graph representations for classification. |
Run these commands on the host. Adjust the container name and shared memory size to suit your environment.
docker pull ubuntu:22.04
docker run -itd --gpus=all --shm-size=8g --name <container_name> ubuntu:22.04
docker exec -it <container_name> bashRun the following commands inside the container.
apt-get update
apt-get install -y sudo
sudo apt-get install -y git curl unzip python3 python3-venv
git clone https://github.com/drawcodeboy/AlCheNet.git
cd AlCheNetpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtDownload the Open Nuro Dataset and extract it under data/ from the repository root.
mkdir -p data
curl -L -o ./data/open-nuro-dataset.zip https://www.kaggle.com/api/v1/datasets/download/yosftag/open-nuro-dataset
unzip data/open-nuro-dataset.zip -d data/open-nuro-datasetThe preprocessing script expects the dataset at data/open-nuro-dataset/dataset.
Prepare the DTW adjacency matrices and node features (EEG channel features) before training.
python datasets/data2np.pyUse a configuration name without the .yaml extension. Training configurations are in configs/train/, and test configurations are in configs/test/.
# Train
python train.py --config=<config_name>
# Test
python test.py --config=<config_name>For AlCheNet:
python train.py --config=alchenet
python test.py --config=alchenetBefore running, review the configuration files:
| Setting | Where to configure |
|---|---|
| GPU device | Set device in both configurations to match your environment; the AlCheNet defaults use cuda:1. |
| Dataset path | Check the root values in the training and test configurations. |
| Test checkpoint | Set save_dir and weights_file_name in the test configuration to the checkpoint you want to evaluate. |
