You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-13Lines changed: 21 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,20 @@
1
1
different lr for gen and disc
2
2
3
-
4
3
# Aging GAN
5
4
6
-
Aging GAN is a research project exploring face aging with a CycleGAN-style architecture. The code trains two U-Net generators and two PatchGAN discriminators on the CelebA dataset, preprocessing into **Young** and **Old** subsets. The generators learn to translate between these domains, effectively "aging" or "de-aging" a face image.
5
+
Aging GAN is a research project exploring facial age transformation with a CycleGAN‑style approach. The model trains two ResNet‑style "encoder–residual–decoder" generators and two PatchGAN discriminators on the UTKFace dataset, split into **Young** and **Old** subsets. The generators learn to translate between these domains, effectively "aging" or "de-aging" a face image.
7
6
8
-
This repository contains training scripts, minimal utilities, and example notebooks.
7
+
This repository contains training scripts, helper utilities, and inference scripts.
9
8
10
9
## Features
11
10
12
-
-**Unpaired Training Data** – automatically split the CelebA dataset into Young vs. Oldand create an unpaired `DataLoader`.
13
-
-**CycleGAN Architecture** – U-Net generators with ResNet encoders and PatchGAN discriminators.
14
-
-**Training Utilities** – gradient clipping, learning-rate scheduling, mixed-precision via `accelerate`, and optional encoder freezing.
15
-
-**Evaluation** – FID metric computation on the validation set.
11
+
-**Unpaired Training Data** – splits the UTKFace dataset into *Young* (18‑28) and *Old* (40+) subsets and builds an unpaired `DataLoader`.
12
+
-**CycleGAN Architecture** – residual U‑Net generators and PatchGAN discriminators.
13
+
-**Training Utilities** – gradient clipping, separate generator/discriminator learning rates with linear decay, mixedprecision via `accelerate`, and optional S3 checkpoint archiving.
14
+
-**Evaluation** – FID metric computation on the validation and test sets.
16
15
-**Weights & Biases Logging** – track losses and metrics during training.
17
-
-**Scriptable Workflows** – run training from the command line with `scripts/run_train.sh`.
18
-
19
-
*Placeholders:* inference helpers, web demo, and quantitative results will be added later.
16
+
-**Scriptable Workflows** – shell scripts for training and inference.
17
+
-**Sample Generation** – saves example outputs after each epoch.
20
18
21
19
## Installation
22
20
@@ -38,7 +36,9 @@ pip install -e .
38
36
```
39
37
40
38
## Data
41
-
The `prepare_dataset` function downloads CelebA automatically and creates train, validation, and test splits. Images are center‑cropped and resized to 256×256. Each split is divided into *Young* and *Old* subsets for unpaired training.
39
+
Place the aligned UTKFace images under `data/utkface_aligned_cropped/UTKFace`.
40
+
The `prepare_dataset` function builds deterministic train/val/test splits and applies random flipping, cropping and rotation for training.
41
+
Each split is divided into *Young* and *Old* subsets for unpaired training.
The `aging_gan.inference` module is currently a stub. Once implemented, you will be able to generate aged faces from the command line using `scripts/run_inference.sh`.
57
+
Generate aged faces using the command-line helper:
0 commit comments