# Fidel Baseline: CRNN-based Amharic OCR Training & Evaluation
A complete end-to-end pipeline for training and evaluating a CRNN-based Amharic OCR model.
Features:
* π§ **Configurable** via YAML
* π **Installable** as a module (and editable during development)
* ποΈ **Weights & Biases** integration for experiment tracking
* βοΈ Works with Conda or plain `venv` + `pip`
---
## π Table of Contents
1. Prerequisites
2. Installation
3. Configuration
* .env
* config YAML
4. Project Layout
5. Usage
* As a module
* Via console-script (optional)
6. Conda-only Quick-Start
7. Scripts Reference
8. TrOCR variation
9. Notes
---
## π οΈ Prerequisites
* **OS:** Linux or macOS (Unix-like)
* **Python:** 3.8+
* **Git** (for cloning)
* **(Optional)** CUDA-enabled GPU for faster training
* **Weights & Biases** account (for experiment logging)
---
## βοΈ Installation
1. **Clone the repo**
```bash
git clone
github.com
cd fidel_dataset_benchmarks
```
2. **Install in editable mode**
```bash
# using pip+venv or inside any Python env:
python3 -m pip install --upgrade pip
python3 -m pip install -e .
```
This does two things:
* Puts `fidel_baseline` (and other packages under `src/`) on your PYTHONPATH
* (If configured) creates a `fidel-benchmark` console script
---
## π§ Configuration
### .env file
In the project root, create a `.env` (and add it to `.gitignore`):
```bash
# .env
WANDB_API_KEY=
```
### config YAML
All hyperparams & paths live in a YAML. E.g. `src/configs/crnn_config.yaml`:
Adjust these values and file paths to your setup.
---
## π Project Structure
```
fidel_dataset_benchmarks/
βββ .env
βββ pyproject.toml # installable package config
βββ requirements.txt # for non-editable install
βββ src/
β βββ configs/
β β βββ crnn_config.yaml
β β βββ main.yaml
β βββ fidel_baseline/ # python package
β β βββ __init__.py
β β βββ benchmark.py
β βββ my_datasets/
β βββ models/ β¦