From ae79a555d3e921a31acd5856f281e3cef2274e2c Mon Sep 17 00:00:00 2001 From: Craig Date: Sat, 12 Apr 2025 10:24:32 +0100 Subject: [PATCH] Check off what has been done so far. --- todo.md | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/todo.md b/todo.md index a1c9c64..ea653c6 100644 --- a/todo.md +++ b/todo.md @@ -4,27 +4,22 @@ This list outlines the steps required to complete the Torchvision Finetuning pro ## Phase 1: Foundation & Setup -- [ ] Set up project structure (directories: `configs`, `data`, `models`, `utils`, `tests`, `scripts`). -- [ ] Initialize Git repository. -- [ ] Create `.gitignore` file (ignore `data`, `outputs`, `logs`, `.venv`, caches, `*.pth`). -- [ ] Initialize `pyproject.toml` using `uv init`, set Python 3.10. -- [ ] Add core dependencies (`torch`, `torchvision`, `ruff`, `numpy`, `Pillow`, `pytest`) using `uv add`. -- [ ] Create `pre-commit-config.yaml` and configure `ruff` hooks (format, lint, import sort). -- [ ] Create `__init__.py` files in necessary directories. -- [ ] Create empty placeholder files (`train.py`, `test.py`, `configs/base_config.py`, `utils/data_utils.py`, `models/detection.py`, `tests/conftest.py`). -- [ ] Create basic `README.md`. -- [ ] Install pre-commit hooks (`pre-commit install`). -- [ ] Create `scripts/download_data.sh` script. - - [ ] Check if data exists. - - [ ] Create `data/` directory. - - [ ] Use `wget` to download PennFudanPed dataset. - - [ ] Use `unzip` to extract data. - - [ ] Remove zip file after extraction. - - [ ] Add informative print messages. - - [ ] Make script executable (`chmod +x`). -- [ ] Ensure `.gitignore` ignores `data/`. -- [ ] Implement base configuration in `configs/base_config.py` (`base_config` dictionary). -- [ ] Implement specific experiment configuration in `configs/pennfudan_maskrcnn_config.py` (`config` dictionary, importing/updating base config). +- [x] Initialize project structure (`configs`, `data`, `models`, `utils`, `tests`, `scripts`) +- [x] Initialize git repository +- [x] Configure `.gitignore` +- [x] Set up `pyproject.toml` with `uv` +- [x] Add dependencies (`torch`, `torchvision` with CUDA 12.4, `ruff`, `numpy`, `Pillow`, `pytest`, `pre-commit`) +- [x] Configure `pre-commit` with `ruff` (formatting, linting) +- [x] Create empty `__init__.py` files +- [x] Create placeholder files (`train.py`, `test.py`, `configs/base_config.py`, etc.) +- [x] Create basic `README.md` +- [x] Install pre-commit hooks +- [x] Verify PyTorch GPU integration (`scripts/check_gpu.py`) +- [x] Create data download script (`scripts/download_data.sh`) +- [ ] Implement PennFudanDataset class (`utils/data_utils.py`) +- [ ] Implement model finetuning logic (`models/detection.py`) +- [ ] Implement training script (`train.py`) +- [ ] Implement evaluation script (`test.py`) ## Phase 2: Data Handling & Model