Files
foxhunt/scripts/archive/fetch_pod_logs_via_web.py
jgrusewski e61e8f54da feat(ml): Complete hyperopt infrastructure + documentation
Changes:
- CLAUDE.md: Update OOM fix validation status
- Add comprehensive documentation (30+ markdown reports)
- LSTM encoder varmap bug fix (tft/lstm_encoder.rs:290)
- Quantized LSTM layer matching fix (tft/quantized_lstm.rs)
- Hyperopt paths module (ml/src/hyperopt/paths.rs)
- Training path tests for all adapters (DQN, MAMBA-2, PPO, TFT)
- Checkpoint integrity tests
- Script cleanup: Remove 29 obsolete deployment scripts
- Archive old scripts to scripts/archive/
- New deployment utilities: check_gpu_availability.py, monitor_hyperopt.sh

Validation:
- OOM fixes validated: 5/5 trials successful (pod b6kc3mc5lbjiro)
- Batch-size-max 256 tested successfully
- All hyperopt adapters working correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 19:52:21 +01:00

51 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Simple script to guide user to fetch pod logs from RunPod Web UI
Since RunPod API doesn't expose container logs directly, this provides instructions.
"""
import sys
import webbrowser
def main():
if len(sys.argv) < 2:
print("Usage: ./fetch_pod_logs_via_web.py <pod_id>")
sys.exit(1)
pod_id = sys.argv[1]
url = f"https://www.runpod.io/console/pods/{pod_id}"
print("=" * 70)
print("RunPod Pod Logs - Access Instructions")
print("=" * 70)
print(f"\nPod ID: {pod_id}")
print(f"\n1. Opening Web UI in browser...")
print(f" URL: {url}")
print("\n2. Once the page loads:")
print(" a. Click on the pod name (foxhunt-training)")
print(" b. Navigate to the 'Logs' tab")
print(" c. Look for training output")
print("\n3. What to verify:")
print("'Using device: Cuda(...)' → GPU is active")
print("'Epoch 1/5' → Training started")
print(" ✓ GPU memory usage (should be ~12-13GB, NOT 15.9GB)")
print(" ✗ NO 'CUDA_ERROR_OUT_OF_MEMORY' messages")
print("\n4. Alternative: SSH access (once ready)")
print(f" ssh root@{pod_id}.ssh.runpod.io")
print(" docker logs $(docker ps -aq | head -1)")
print("\n" + "=" * 70)
print("\nOpening browser in 3 seconds...")
try:
import time
time.sleep(3)
webbrowser.open(url)
print("✓ Browser opened successfully")
except Exception as e:
print(f"✗ Failed to open browser: {e}")
print(f"\nManually open: {url}")
print("\n" + "=" * 70)
if __name__ == "__main__":
main()