# normangopico/prosthetic_yolo26 architecture

> Architecture diagram of the GitHub repository normangopico/prosthetic_yolo26, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/normangopico/prosthetic_yolo26
- Repository: https://github.com/normangopico/prosthetic_yolo26

## Overview

This repository is a YOLO26 training subsystem for a prosthetic-hand research project, not a complete real-time detector: the README describes detection goals, but the tree shows datasets and training code rather than an inference or prosthetic-control entry point. The principal workflow combines object-specific image/label datasets, remaps their classes into a shared dataset, then fine-tunes a pretrained YOLO26 model and saves training artifacts. Separate archived scripts train key and wallet models. Dataset preparation and training-source excerpts were sampled; details beyond those excerpts are represented only where the tree or README supports them.

Main entry points: [`training/build_combined_dataset.py`](https://github.com/normangopico/prosthetic_yolo26/blob/main/training/build_combined_dataset.py) (Dataset combiner), [`training/train_combined.py`](https://github.com/normangopico/prosthetic_yolo26/blob/main/training/train_combined.py) (Combined trainer), [`training/solo_training_archives`](https://github.com/normangopico/prosthetic_yolo26/tree/main/training/solo_training_archives) (Solo trainers), [`dataset_combined`](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_combined) (Combined dataset)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_datasets["Object datasets"]
  node_keys_data["Key images"]
  node_wallet_data["Wallet images"]
  node_bottle_data["Bottle images"]
  node_can_data["Can images"]
  node_book_data["Book images"]
  node_phone_data["Phone images"]
  node_fork_data["Fork images"]
  node_spoon_data["Spoon images"]
  node_pencil_data["Pencil images"]
  node_apple_data["Apple images"]
end

subgraph group_preparation["Dataset preparation"]
  node_combine["Dataset combiner"]
  node_combined_data["Combined dataset"]
end

subgraph group_training["Model training"]
  node_combined_train["Combined trainer<br/>[train_combined.py]"]
  node_solo_train["Solo trainers"]
end

subgraph group_artifacts["Training artifacts"]
  node_combined_runs["Combined run"]
  node_solo_runs["Solo runs"]
end

node_researcher(("Researcher"))
node_yolo_library["Ultralytics YOLO"]
node_base_weights["Pretrained weights<br/>[yolo26n.pt]"]

node_researcher -->|"runs preparation"| node_combine
node_keys_data -->|"reads images"| node_combine
node_wallet_data -->|"reads images"| node_combine
node_bottle_data -->|"reads images"| node_combine
node_can_data -->|"reads images"| node_combine
node_book_data -->|"reads images"| node_combine
node_phone_data -->|"reads images"| node_combine
node_fork_data -->|"reads images"| node_combine
node_spoon_data -->|"reads images"| node_combine
node_pencil_data -->|"reads images"| node_combine
node_apple_data -->|"reads images"| node_combine
node_combine -->|"writes dataset"| node_combined_data
node_researcher -->|"starts training"| node_combined_train
node_combined_data -->|"provides data"| node_combined_train
node_base_weights -->|"loads weights"| node_combined_train
node_combined_train -->|"trains model"| node_yolo_library
node_yolo_library -->|"saves run"| node_combined_runs
node_researcher -->|"starts training"| node_solo_train
node_solo_train -->|"trains model"| node_yolo_library
node_solo_train -->|"saves runs"| node_solo_runs

click node_keys_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_keys"
click node_wallet_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_wallet"
click node_bottle_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_bottle"
click node_can_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_can"
click node_book_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_book"
click node_phone_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_smartphone"
click node_fork_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_fork"
click node_spoon_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_spoon"
click node_pencil_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_pencil"
click node_apple_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_apple"
click node_combine "https://github.com/normangopico/prosthetic_yolo26/blob/main/training/build_combined_dataset.py"
click node_combined_data "https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_combined"
click node_combined_train "https://github.com/normangopico/prosthetic_yolo26/blob/main/training/train_combined.py"
click node_solo_train "https://github.com/normangopico/prosthetic_yolo26/tree/main/training/solo_training_archives"
click node_base_weights "https://github.com/normangopico/prosthetic_yolo26/blob/main/yolo26n.pt"
click node_combined_runs "https://github.com/normangopico/prosthetic_yolo26/tree/main/runs/detect/combined_yolo26n"
click node_solo_runs "https://github.com/normangopico/prosthetic_yolo26/tree/main/runs/detect"

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_keys_data,node_wallet_data,node_bottle_data,node_can_data,node_book_data,node_phone_data,node_fork_data,node_spoon_data,node_pencil_data,node_apple_data toneBlue
class node_combine,node_combined_data toneAmber
class node_combined_train,node_solo_train toneMint
class node_combined_runs,node_solo_runs toneRose
class node_researcher,node_yolo_library toneIndigo
class node_base_weights toneTeal
```

## Components

### Object datasets

- [Key images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_keys): `dataset_keys`
- [Wallet images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_wallet): `dataset_wallet`
- [Bottle images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_bottle): `dataset_bottle`
- [Can images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_can): `dataset_can`
- [Book images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_book): `dataset_book`
- [Phone images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_smartphone): `dataset_smartphone`
- [Fork images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_fork): `dataset_fork`
- [Spoon images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_spoon): `dataset_spoon`
- [Pencil images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_pencil): `dataset_pencil`
- [Apple images](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_apple): `dataset_apple`

### Dataset preparation

- [Dataset combiner](https://github.com/normangopico/prosthetic_yolo26/blob/main/training/build_combined_dataset.py): `training/build_combined_dataset.py`
- [Combined dataset](https://github.com/normangopico/prosthetic_yolo26/tree/main/dataset_combined): `dataset_combined`

### Model training

- [Combined trainer](https://github.com/normangopico/prosthetic_yolo26/blob/main/training/train_combined.py): `training/train_combined.py`
- [Solo trainers](https://github.com/normangopico/prosthetic_yolo26/tree/main/training/solo_training_archives): `training/solo_training_archives`

### Training artifacts

- [Combined run](https://github.com/normangopico/prosthetic_yolo26/tree/main/runs/detect/combined_yolo26n): `runs/detect/combined_yolo26n`
- [Solo runs](https://github.com/normangopico/prosthetic_yolo26/tree/main/runs/detect): `runs/detect`

### Other components

- **Researcher**
- **Ultralytics YOLO**
- [Pretrained weights](https://github.com/normangopico/prosthetic_yolo26/blob/main/yolo26n.pt): `yolo26n.pt`

## Connections

- Researcher → Dataset combiner: runs preparation
- Key images → Dataset combiner: reads images
- Wallet images → Dataset combiner: reads images
- Bottle images → Dataset combiner: reads images
- Can images → Dataset combiner: reads images
- Book images → Dataset combiner: reads images
- Phone images → Dataset combiner: reads images
- Fork images → Dataset combiner: reads images
- Spoon images → Dataset combiner: reads images
- Pencil images → Dataset combiner: reads images
- Apple images → Dataset combiner: reads images
- Dataset combiner → Combined dataset: writes dataset
- Researcher → Combined trainer: starts training
- Combined dataset → Combined trainer: provides data
- Pretrained weights → Combined trainer: loads weights
- Combined trainer → Ultralytics YOLO: trains model
- Ultralytics YOLO → Combined run: saves run
- Researcher → Solo trainers: starts training
- Solo trainers → Ultralytics YOLO: trains model
- Solo trainers → Solo runs: saves runs
