# 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/ …