I trained as a wet-lab biologist and I am moving toward computational work. This repository holds the code I wrote while teaching myself deep learning. Everything here is something I actually ran, so the notebooks include the versions that did not work as well as the ones that did.
| Folder | Contents | Files |
|---|---|---|
PyTorch_Pracs/ |
Six end-to-end projects. Each one is kept as a versioned record of baseline, diagnosis, and fix | 20 notebooks |
TensorFlow_Pracs/ |
Chapter exercises from Everyone's Deep Learning, covering perceptrons through transformers | 23 notebooks |
Vibe coding_Pracs/ |
Three small applications built with an AI coding assistant, each with its own spec | 3 projects |
These are the measured numbers from the project folders, not targets.
| Project | Task | Result |
|---|---|---|
| COVID-19 CT classification | Chest CT, COVID vs non-COVID. Custom CNN, then a residual CNN, then ResNet50 feature fusion | ROC AUC 0.887, accuracy 80.3%, sensitivity 81.9% |
| CIFAR-10 transfer learning | Hand-built CNN against ResNet50 fine-tuning, two revisions of each | 89.02% custom (+17.47 pp), 95.27% transfer (+10.47 pp) |
| Breast cancer diagnosis | Binary classification with K-fold cross-validation and Optuna tuning | AUC 0.9954, malignant recall 0.976 |
| Insurance cost prediction | Tabular regression, 5-fold cross-validation | R² 0.8574 ± 0.0298 |
The medical imaging project is the one closest to what I want to do next. It uses the COVID-CT dataset and builds up through three pipelines, combining 2048 features from a pretrained ResNet50 with 128 features from a custom extractor.
Each project folder keeps the earlier versions instead of only the final one, because the useful part of the exercise was finding out why a version failed. Two examples:
The diabetes regression model reached an R² of 0.4501, which means it explained less than half the variance. I recorded that as insufficient rather than presenting it as a result.
The wine classifier reached 97% accuracy, but the test set held only about 36 samples, so a single misclassification moves the number by 2.8 percentage points. The folder says so, and treats the accuracy as too uncertain to claim.
The table separates what produced code in this repository from what did not, so that nobody goes looking for files that are not here.
| Course or book | Provider | Period | Code in this repository |
|---|---|---|---|
| Deep Learning Specialization | DeepLearning.AI (Coursera) | Oct – Dec 2024 | No |
| Everyone's Deep Learning | Taeho Jo (source) | — | TensorFlow_Pracs/ |
| Medical imaging for diagnosis and biomarker discovery | LAIDD | — | PyTorch_Pracs/6_LAIDD-Medical-Imaging-CNN/ |
| Big Data Analysis and AI Development (NCS) | Winspec | Apr – May 2026 | No |
| where | language |
|---|---|
| this file | English |
PyTorch_Pracs/*/README.md |
Korean, with code, tables and plots in English |
TensorFlow_Pracs/, Vibe coding_Pracs/ |
Korean notes, English code |
I wrote the project folders in Korean while studying and have kept them that way. They are still worth opening without Korean: the metrics, tables, confusion matrices and training curves carry the result, and the notebooks are code.
My two applied repositories below follow a different rule. Their main README is Korean, and each carries an English summary of the same length as this page, so an English reader gets the hypotheses, the numbers and the limitations without the full document.
Applied work that grew out of this archive:
- vhh-mpnn-selfconsistency — do ProteinMPNN redesigns fold back to the backbone they came from? (English summary)
- pdl1-rfdiffusion-hotspots — does naming the hotspots change what RFdiffusion produces? (English summary)
Both were run against controls and against criteria fixed before the work started, and both report the axes where the result was negative.