This repository contains the implementation of FaultGAT, a Graph Attention Network-Based Approach for System-Level Intermittent Fault Diagnosis
Easiest way - No Python version worries!
# Option A: Pull the pre-built image (when available)
docker pull ksx/faultgat:latest
# Option B: Build locally
git clone https://github.com/shuangxiangkan/FaultGAT.git
cd FaultGAT
./build_docker.sh
FaultGAT.pyc
)
Requirements:
- Python 3.10.x (Strictly required - other versions will not work)
- PyTorch >= 1.9.0
- PyTorch Geometric >= 2.0.0
# Clone the repository
git clone https://github.com/shuangxiangkan/FaultGAT.git
cd FaultGAT
# Create virtual environment with Python 3.10 (REQUIRED)
python3.10 -m venv pyg_env
source pyg_env/bin/activate # On Windows: pyg_env\Scripts\activate
# Verify Python version
python --version # Should show Python 3.10.x
# Install dependencies
pip install -r requirements.txt
Method 1: Using docker-compose (Easiest)
# Run experiments with docker-compose
docker-compose run rq1 # Research Question 1: Theoretical diagnosability
docker-compose run rq2 # Research Question 2: Fault ratio comparison
docker-compose run rq3 # Research Question 3: Partial symptom analysis
Method 2: Using Docker directly
# Create result directories first
mkdir -p results_RQ1 results_RQ2 results_RQ3
# Run experiments
docker run --rm -v $(pwd)/results_RQ1:/app/results_RQ1 ksx/faultgat:latest python RQ1.py
docker run --rm -v $(pwd)/results_RQ2:/app/results_RQ2 ksx/faultgat:latest python RQ2.py
docker run --rm -v $(pwd)/results_RQ3:/app/results_RQ3 ksx/faultgat:latest python RQ3.py
Interactive mode (for debugging):
docker run -it ksx/faultgat:latest bash
# Inside container: python RQ1.py
Results will be saved to results_RQ*/
directories on your host machine.
# Research Question 1: Theoretical diagnosability
python RQ1.py
# Research Question 2: Fault ratio comparison
python RQ2.py
# Research Question 3: Partial symptom analysis
python RQ3.py
bc
: BC (Hypercube) Networkaugmented_k_ary_n_cube
: Augmented K-ary N-cube
The FaultGAT
model implementation is currently provided as compiled bytecode (FaultGAT.pyc
) for intellectual property protection. The full source code will be open-sourced after paper acceptance.
- Current Status: Available as
FaultGAT.pyc
(compiled bytecode) - Python Version: Requires exactly Python 3.10.x (bytecode is version-specific)
- Future Release: Complete source code (
FaultGAT.py
) will be available after paper publication - No Fallback: Other Python versions are not supported with current bytecode
If you encounter import errors:
RuntimeError: Cannot load FaultGAT model!
Your Python version: X.Y
Supported versions: 3.10
Solutions:
- Use Python 3.10:
pyenv install 3.10.12 && pyenv local 3.10.12
- Use conda:
conda create -n faultgat python=3.10
- Contact authors for source code access