LukeFP's picture
readme
23615dd
---
title: Physics Topic Labeling
emoji: 🏒
colorFrom: pink
colorTo: yellow
sdk: gradio
sdk_version: 6.6.0
app_file: app.py
pinned: false
---
# PhySH Taxonomy Classifier β€” Gradio App
Interactive web app that predicts APS PhySH **disciplines** and **research-area concepts**
for a given paper title + abstract.
## How it works
1. Text is embedded with `google/embeddinggemma-300m` (768-dim, L2-normalised).
2. **Stage 1** β€” A multi-label MLP predicts discipline probabilities (18 classes).
3. **Stage 2** β€” A discipline-conditioned MLP concatenates the embedding with discipline
probabilities and predicts research-area concepts (186 classes).
Both models are `.pt` checkpoints trained in `../0120_taxonomy_training_inference/`.
## Setup
The app uses the project-level virtualenv (`.venv` at the repo root).
```bash
# From the repo root
source .venv/bin/activate
# Install the one extra dependency
pip install gradio
```
## Run
```bash
cd 0219_gradio
python app.py
```
Then open `http://127.0.0.1:7860` in your browser.
## Model files
The app expects these checkpoints in the same directory as `app.py`:
- `discipline_classifier_gemma_20260130_140842.pt`
- `concept_conditioned_gemma_20260130_140842.pt`