# cfoh/ffnn-examples architecture

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

- Interactive diagram: https://gitdiagram.com/cfoh/ffnn-examples
- Repository: https://github.com/cfoh/ffnn-examples

## Overview

This repository is a set of runnable feed-forward and convolutional neural-network examples, not a shared application. The main workflow is to prepare or use a sample dataset, run a framework-specific script to train or load a model, then evaluate it and produce predictions. Examples cover single- and multi-output regression, Iris classification, and clock-image classification. The source excerpts show those scripts’ data and model-file interactions; relationships among unsampled examples are not inferred.

Main entry points: [`regression-tf2/sample_data.csv`](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/sample_data.csv) (Complex samples), [`cnn/train-12.py`](https://github.com/cfoh/ffnn-examples/blob/main/cnn/train-12.py) (Train clock CNN), [`cnn/test-12.py`](https://github.com/cfoh/ffnn-examples/blob/main/cnn/test-12.py) (Test clock CNN), [`regression-tf/ffnn.py`](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf/ffnn.py) (TF regression)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_regression["Regression examples"]
  node_regression_tf["TF regression<br/>[ffnn.py]"]
  node_regression_pt["PyTorch regression<br/>[ffnn.py]"]
  node_regression_tf2["TF multi-output<br/>[ffnn.py]"]
  node_regression_pt2["PyTorch multi-output<br/>[ffnn.py]"]
  node_complex_gen_tf["Complex data generator"]
  node_complex_gen_pt["Complex data generator"]
  node_regression_data["Function samples<br/>[sample_data.csv]"]
  node_complex_data["Complex samples<br/>[sample_data.csv]"]
end

subgraph group_classification["Classification examples"]
  node_iris_tf["TF Iris classifier<br/>[ffnn.py]"]
  node_iris_pt["PyTorch Iris classifier<br/>[ffnn.py]"]
  node_iris_data["Iris samples<br/>[iris.data]"]
end

subgraph group_cnn["Clock CNN"]
  node_cnn_train["Train clock CNN<br/>[train-12.py]"]
  node_cnn_test["Test clock CNN<br/>[test-12.py]"]
  node_clock_data["Clock images"]
  node_clock_model["Best CNN model"]
end

node_user(("Example runner"))

node_user -->|"runs"| node_regression_tf
node_user -->|"runs"| node_regression_pt
node_user -->|"runs"| node_regression_tf2
node_user -->|"runs"| node_regression_pt2
node_user -->|"runs"| node_iris_tf
node_user -->|"runs"| node_iris_pt
node_user -->|"runs"| node_cnn_train
node_user -->|"runs"| node_cnn_test
node_regression_tf -->|"reads"| node_regression_data
node_regression_pt -->|"reads"| node_regression_data
node_regression_tf2 -->|"reads"| node_complex_data
node_regression_pt2 -->|"reads"| node_complex_data
node_complex_gen_tf -->|"writes"| node_complex_data
node_complex_gen_pt -->|"writes"| node_complex_data
node_iris_tf -->|"reads"| node_iris_data
node_iris_pt -->|"reads"| node_iris_data
node_cnn_train -->|"loads"| node_clock_data
node_cnn_train -->|"saves"| node_clock_model
node_cnn_test -->|"loads"| node_clock_model
node_cnn_test -->|"selects image"| node_clock_data

click node_regression_tf "https://github.com/cfoh/ffnn-examples/blob/main/regression-tf/ffnn.py"
click node_regression_pt "https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch/ffnn.py"
click node_regression_tf2 "https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/ffnn.py"
click node_regression_pt2 "https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch2/ffnn.py"
click node_complex_gen_tf "https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/sample_generator.py"
click node_complex_gen_pt "https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch2/sample_generator.py"
click node_regression_data "https://github.com/cfoh/ffnn-examples/blob/main/regression-tf/sample_data.csv"
click node_complex_data "https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/sample_data.csv"
click node_iris_tf "https://github.com/cfoh/ffnn-examples/blob/main/classification-tf/ffnn.py"
click node_iris_pt "https://github.com/cfoh/ffnn-examples/blob/main/classification-pytorch/ffnn.py"
click node_iris_data "https://github.com/cfoh/ffnn-examples/blob/main/classification-tf/iris.data"
click node_cnn_train "https://github.com/cfoh/ffnn-examples/blob/main/cnn/train-12.py"
click node_cnn_test "https://github.com/cfoh/ffnn-examples/blob/main/cnn/test-12.py"
click node_clock_data "https://github.com/cfoh/ffnn-examples/tree/main/cnn/dataset-12"
click node_clock_model "https://github.com/cfoh/ffnn-examples/tree/main/cnn/dataset-12"

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_regression_tf,node_regression_pt,node_regression_tf2,node_regression_pt2,node_complex_gen_tf,node_complex_gen_pt,node_regression_data,node_complex_data toneBlue
class node_iris_tf,node_iris_pt,node_iris_data toneAmber
class node_cnn_train,node_cnn_test,node_clock_data,node_clock_model toneMint
class node_user toneIndigo
```

## Components

### Regression examples

- [TF regression](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf/ffnn.py): `regression-tf/ffnn.py`
- [PyTorch regression](https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch/ffnn.py): `regression-pytorch/ffnn.py`
- [TF multi-output](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/ffnn.py): `regression-tf2/ffnn.py`
- [PyTorch multi-output](https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch2/ffnn.py): `regression-pytorch2/ffnn.py`
- [Complex data generator](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/sample_generator.py): `regression-tf2/sample_generator.py`
- [Complex data generator](https://github.com/cfoh/ffnn-examples/blob/main/regression-pytorch2/sample_generator.py): `regression-pytorch2/sample_generator.py`
- [Function samples](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf/sample_data.csv): `regression-tf/sample_data.csv`
- [Complex samples](https://github.com/cfoh/ffnn-examples/blob/main/regression-tf2/sample_data.csv): `regression-tf2/sample_data.csv`

### Classification examples

- [TF Iris classifier](https://github.com/cfoh/ffnn-examples/blob/main/classification-tf/ffnn.py): `classification-tf/ffnn.py`
- [PyTorch Iris classifier](https://github.com/cfoh/ffnn-examples/blob/main/classification-pytorch/ffnn.py): `classification-pytorch/ffnn.py`
- [Iris samples](https://github.com/cfoh/ffnn-examples/blob/main/classification-tf/iris.data): `classification-tf/iris.data`

### Clock CNN

- [Train clock CNN](https://github.com/cfoh/ffnn-examples/blob/main/cnn/train-12.py): `cnn/train-12.py`
- [Test clock CNN](https://github.com/cfoh/ffnn-examples/blob/main/cnn/test-12.py): `cnn/test-12.py`
- [Clock images](https://github.com/cfoh/ffnn-examples/tree/main/cnn/dataset-12): `cnn/dataset-12`
- [Best CNN model](https://github.com/cfoh/ffnn-examples/tree/main/cnn/dataset-12): `cnn/dataset-12`

### Other components

- **Example runner**

## Connections

- Example runner → TF regression: runs (evidence: `README.md`)
- Example runner → PyTorch regression: runs (evidence: `README.md`)
- Example runner → TF multi-output: runs (evidence: `README.md`)
- Example runner → PyTorch multi-output: runs (evidence: `README.md`)
- Example runner → TF Iris classifier: runs (evidence: `README.md`)
- Example runner → PyTorch Iris classifier: runs (evidence: `README.md`)
- Example runner → Train clock CNN: runs (evidence: `README.md`)
- Example runner → Test clock CNN: runs (evidence: `cnn/test-12.py`)
- TF regression → Function samples: reads (evidence: `regression-tf/ffnn.py`)
- PyTorch regression → Function samples: reads (evidence: `regression-pytorch/ffnn.py`)
- TF multi-output → Complex samples: reads (evidence: `regression-tf2/ffnn.py`)
- PyTorch multi-output → Complex samples: reads (evidence: `regression-pytorch2/ffnn.py`)
- Complex data generator → Complex samples: writes (evidence: `regression-tf2/sample_generator.py`)
- Complex data generator → Complex samples: writes (evidence: `regression-pytorch2/sample_generator.py`)
- TF Iris classifier → Iris samples: reads (evidence: `classification-tf/ffnn.py`)
- PyTorch Iris classifier → Iris samples: reads (evidence: `classification-pytorch/ffnn.py`)
- Train clock CNN → Clock images: loads (evidence: `cnn/train-12.py`)
- Train clock CNN → Best CNN model: saves (evidence: `cnn/train-12.py`)
- Test clock CNN → Best CNN model: loads (evidence: `cnn/test-12.py`)
- Test clock CNN → Clock images: selects image (evidence: `cnn/test-12.py`)
