# nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers architecture

> Architecture diagram of the GitHub repository nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers
- Repository: https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers

## Overview

This repository generates class-conditional Indian Sign Language images, and trains the progressive GAN used for generation. The main workflows are preparing image data from videos, progressively training a generator against a critic, and entering text at inference time to generate and label sign images. The README also describes support for letters, numbers, and words. Inference and training excerpts show model and output handling; some inference steps and dataset details are only documented, so those links use README evidence.

Main entry points: [`train.py`](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/train.py) (Progressive training), [`inference.py`](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/inference.py) (Prompt inference), [`attention.py`](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/attention.py) (Attention layers), [`frame_extract.py`](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/frame_extract.py) (Frame extraction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Dataset preparation"]
  node_extract["Frame extraction<br/>[frame_extract.py]"]
  node_images[("Class image data")]
end

subgraph group_models["GAN models"]
  node_generator["Conditional generator<br/>[generator.py]"]
  node_critic["Conditional critic<br/>[critic.py]"]
  node_attention["Attention layers<br/>[attention.py]"]
end

subgraph group_training["Model training"]
  node_config["Run configuration<br/>[config.py]"]
  node_train["Progressive training<br/>[train.py]"]
  node_checkpoints[("Model checkpoints")]
end

subgraph group_inference["Text inference"]
  node_inference_config["Inference options<br/>[config.py]"]
  node_inference["Prompt inference<br/>[inference.py]"]
  node_generated["Sign image output<br/>[inference.py]"]
end

node_video_source["Class videos"]
node_user(("Text prompt"))

node_video_source -->|"provides frames"| node_extract
node_extract -->|"writes frames"| node_images
node_images -->|"loads images"| node_train
node_config -->|"configures"| node_train
node_train -->|"trains"| node_generator
node_train -->|"trains"| node_critic
node_generator -->|"uses layers"| node_attention
node_critic -->|"uses layers"| node_attention
node_train -->|"writes weights"| node_checkpoints
node_user -->|"enters prompt"| node_inference
node_inference_config -->|"sets options"| node_inference
node_inference -->|"uses layers"| node_attention
node_checkpoints -->|"provides weights"| node_inference
node_inference -->|"generates images"| node_generated

click node_extract "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/frame_extract.py"
click node_images "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/tree/main/data"
click node_config "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/config.py"
click node_train "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/train.py"
click node_generator "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/generator.py"
click node_critic "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/critic.py"
click node_attention "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/attention.py"
click node_inference_config "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/config.py"
click node_inference "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/inference.py"
click node_generated "https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/inference.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_extract,node_images toneBlue
class node_generator,node_critic,node_attention toneAmber
class node_config,node_train,node_checkpoints toneMint
class node_inference_config,node_inference,node_generated toneRose
class node_video_source,node_user toneIndigo
```

## Components

### Dataset preparation

- [Frame extraction](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/frame_extract.py): `frame_extract.py`
- [Class image data](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/tree/main/data): `data`

### GAN models

- [Conditional generator](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/generator.py): `generator.py`
- [Conditional critic](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/critic.py): `critic.py`
- [Attention layers](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/attention.py): `attention.py`

### Model training

- [Run configuration](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/config.py): `config.py`
- [Progressive training](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/train.py): `train.py`
- **Model checkpoints**

### Text inference

- [Inference options](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/config.py): `config.py`
- [Prompt inference](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/inference.py): `inference.py`
- [Sign image output](https://github.com/nishantk-iisc/generation-of-indian-sign-language-letters-and-numbers/blob/main/inference.py): `inference.py`

### Other components

- **Class videos**
- **Text prompt**

## Connections

- Class videos → Frame extraction: provides frames (evidence: `frame_extract.py`)
- Frame extraction → Class image data: writes frames (evidence: `frame_extract.py`)
- Class image data → Progressive training: loads images (evidence: `train.py`)
- Run configuration → Progressive training: configures (evidence: `train.py`)
- Progressive training → Conditional generator: trains (evidence: `train.py`)
- Progressive training → Conditional critic: trains (evidence: `train.py`)
- Conditional generator → Attention layers: uses layers (evidence: `generator.py`)
- Conditional critic → Attention layers: uses layers (evidence: `critic.py`)
- Progressive training → Model checkpoints: writes weights (evidence: `train.py`)
- Text prompt → Prompt inference: enters prompt (evidence: `inference.py`)
- Inference options → Prompt inference: sets options (evidence: `inference.py`)
- Prompt inference → Attention layers: uses layers (evidence: `inference.py`)
- Model checkpoints → Prompt inference: provides weights (evidence: `README.md`)
- Prompt inference → Sign image output: generates images (evidence: `inference.py`)
