Sanath2709's picture
Upload folder using huggingface_hub
0448c1e verified
|
Raw
History Blame Contribute Delete
2.73 kB
metadata
language:
  - en
license: apache-2.0
tags:
  - pytorch
  - timeseries
  - power-systems
  - fault-detection
  - computer-vision
  - s-transform
pipeline_tag: image-classification

ChronoGrid FusionNet: IEEE 9-Bus Fault Detection

Model Description

ChronoGrid FusionNet is a highly specialized deep learning architecture designed for the classification of electrical transmission line faults in the IEEE 9-Bus (WSCC) test system. It processes time-series electrical signals that have been transformed into 2D S-Transform heatmaps to detect and classify 11 different fault conditions.

The architecture is a fusion of three core components:

  1. 1D CNN Backbone: Extracts multi-band temporal distortions from the frequency dimension.
  2. BiLSTM Sequence Modeler: Captures bidirectional evolution of the electrical transient over time.
  3. Self-Attention Mechanism: Dynamically focuses on the most critical time-steps of the fault clearing process.

Intended Uses

  • Academic Research: Benchmarking fault detection algorithms on power systems.
  • Power System Analysis: Classifying Single Line to Ground (SLG), Line to Line (LL), Double Line to Ground (LLG), and Three Phase (LLL) faults.

How to Get Started with the Model

Because this is a custom PyTorch architecture, you must pass trust_remote_code=True when loading the model from Hugging Face.

import torch
from transformers import AutoModel, AutoConfig
from PIL import Image
import numpy as np

# 1. Load the model and configuration
repo_id = "Sanath2709/chronogrid-fusionnet"
config = AutoConfig.from_pretrained(repo_id, trust_remote_code=True)
model = AutoModel.from_pretrained(repo_id, config=config, trust_remote_code=True)
model.eval()

# 2. Preprocess an S-Transform Heatmap Image
image_path = "path/to/your/s_transform_heatmap.jpg"
img = Image.open(image_path).convert('L').resize((227, 227))
arr = np.array(img, dtype=np.float32) / 255.0
x = torch.tensor(arr).unsqueeze(0)

# 3. Run Inference
with torch.no_grad():
    logits = model(x)[0]
    probs = torch.softmax(logits, dim=1).squeeze().numpy()
    
# 4. Display Results
FAULT_CLASSES = ['AG','BG','CG','AB','AC','BC','ABG','ACG','BCG','ABCG','NF']
print("Predictions:", {FAULT_CLASSES[i]: float(probs[i]) for i in range(len(FAULT_CLASSES))})

Training Data

The model was trained on synthetic data generated using the WSCC 9-Bus system in Simulink, simulating various fault locations, inception angles, and loads. The raw voltage and current signals were converted into 227x227 time-frequency heatmaps using the discrete S-Transform.

License & Citation

If you use this model in your research, please refer to the attached manuscript or citation details once published.