DT-Explorer / Makefile
sadhumitha-s's picture
feat: redeploy fresh model weights and demo trajectories
ec88753
.PHONY: setup train dashboard test clean deploy
# Setup environment
setup:
pip install -r requirements.txt
# Run full pipeline: Harvesting -> DT Training -> SAE Training
train:
python3 scripts/train_dt.py
python3 scripts/train_sae.py
# Launch the explorer dashboard
dashboard:
streamlit run src/dashboard/app.py
# Run unit tests
test:
PYTHONPATH=. pytest tests/
# Package and deploy to Hugging Face Spaces
deploy:
@echo "1. Slicing trajectories to data/trajectories_demo.pt (with zero-hardcoded guardrail)..."
@echo "=========================================================="
@python3 -c ' \
import torch, os; \
data = torch.load("data/trajectories.pt", map_location="cpu", weights_only=False); \
count = len(data); \
torch.save(data[:count], "data/trajectories_demo.pt"); \
size_mb = os.path.getsize("data/trajectories_demo.pt") / (1024*1024); \
if size_mb >= 9.5: \
avg_size = size_mb / count; \
count = int(9.0 / avg_size); \
while count > 0: \
demo_data = data[:count]; \
torch.save(demo_data, "data/trajectories_demo.pt"); \
size_mb = os.path.getsize("data/trajectories_demo.pt") / (1024*1024); \
if size_mb < 9.5: \
break; \
count -= 1; \
print(f"Successfully packaged {count}/{len(data)} trajectories (Size: {size_mb:.2f} MB). Safely under 10MB limit."); \
'
@echo "Done."
@echo ""
@echo "=========================================================="
@echo "2. Staging and committing deployment assets..."
@echo "=========================================================="
@git add data/trajectories_demo.pt models/mini_dt.pt artifacts/saes/ .gitignore Dockerfile docker-compose.yml Makefile scripts/deploy.sh src/dashboard/app.py .github/workflows/hf_sync.yml README.md .gitattributes
@git commit -m "feat: redeploy fresh model weights and demo trajectories" || echo "No new changes to commit."
@echo ""
@echo "=========================================================="
@echo "3. Pushing changes to Hugging Face Spaces ('hf' remote)..."
@echo "=========================================================="
@git push hf main || echo "Failed to push to 'hf' remote automatically. Please verify your Space git remote is named 'hf', or manually push to your target remote (e.g. 'git push origin main')."
# Remove artifacts and cached files
clean:
rm -rf data/*.pt models/*.pt artifacts/saes/*.pt
find . -type d -name "__pycache__" -exec rm -rf {} +
find . -type d -name ".pytest_cache" -exec rm -rf {} +