Spaces:
Sleeping
Sleeping
| """Smoke test the R1 session model. | |
| Builds a Capture from a real classifier pass on a sample face, prints | |
| the resolved caption, the top blendshape activations, and the gallery | |
| item that would be handed to gr.Gallery. Also exercises remove-last | |
| and clear semantics on a small session. | |
| Run from repo root: `cd ~/Code/research/totes-emosh && uv run python scratch/smoke_session.py` | |
| """ | |
| from __future__ import annotations | |
| import os | |
| import sys | |
| from pathlib import Path | |
| from PIL import Image | |
| ROOT = Path(__file__).parent.parent | |
| os.chdir(ROOT) | |
| sys.path.insert(0, str(ROOT)) | |
| def main() -> None: | |
| from app.app_utils import preprocess_image_and_predict | |
| from app.session import ( | |
| Capture, | |
| LABEL_PRESETS, | |
| gallery_items, | |
| resolve_label, | |
| session_status, | |
| ) | |
| print(f"LABEL_PRESETS: {len(LABEL_PRESETS)} entries") | |
| print(f" first 3: {LABEL_PRESETS[:3]}") | |
| print(f" last: {LABEL_PRESETS[-1]}") | |
| print(f"\nresolve_label('warm-up:happy', '') = {resolve_label('warm-up:happy', '')!r}") | |
| print(f"resolve_label('(custom)', 'AU1+AU6 attempt') = {resolve_label('(custom)', 'AU1+AU6 attempt')!r}") | |
| print(f"resolve_label('(custom)', '') = {resolve_label('(custom)', '')!r}") | |
| print("\nRunning pipeline on Happy.png and building a Capture...") | |
| img = Image.open(ROOT / "images" / "Happy.png").convert("RGB") | |
| face, heatmap, probs, blendshapes = preprocess_image_and_predict(img) | |
| cap = Capture( | |
| label="warm-up:happy", | |
| face=face, | |
| heatmap=heatmap, | |
| emotion_probs=probs, | |
| blendshapes=blendshapes, | |
| ) | |
| print(f" caption: {cap.caption()}") | |
| print(f" top emotion: {cap.top_emotion()}") | |
| print(f" thumbnail size: {cap.thumbnail().size}") | |
| print("\n top 5 blendshapes:") | |
| if blendshapes: | |
| for name, score in sorted(blendshapes.items(), key=lambda x: -x[1])[:5]: | |
| print(f" {name:<24} {score:.3f}") | |
| print("\nExercising session operations:") | |
| session = [cap] | |
| print(f" after add: {session_status(session)}") | |
| items = gallery_items(session) | |
| print(f" gallery_items returns {len(items)} item(s); first caption: {items[0][1]!r}") | |
| session = session + [cap, cap] | |
| print(f" after two more adds: {session_status(session)}") | |
| session = session[:-1] | |
| print(f" after remove-last: {session_status(session)}") | |
| session = [] | |
| print(f" after clear: {session_status(session)}") | |
| if __name__ == "__main__": | |
| main() | |