airfRANS-model-exploration/configs/remote_smoke.toml

73 lines
1.6 KiB
TOML

[run]
name = "airfrans-smoke"
timeout_minutes = 45
local_artifact_dir = "artifacts/remote_runs"
max_attempts = 2
[provider]
kind = "vastai"
disk_gb = 64
max_price_per_hour = 0.60
image = "vastai/base:0.0.2"
[provider.gpu]
name = "RTX 4090"
count = 1
min_vram_gb = 16
[selection]
min_reliability = 0.95
min_down_mbps = 100
min_up_mbps = 25
require_verified = true
blocked_geos = ["CN"]
blacklist_hosts = [59017]
drop_cheap_frac = 0.30
image_size_gb = 5.0
base_url = "https://cloud.vast.ai"
[workspace]
workdir = "."
exclude = [
"/artifacts",
"/data/raw",
"/.venv",
"/notebooks",
"__pycache__",
"*.pyc",
]
[bootstrap]
command = """
uv sync --no-dev
uv run --no-dev python -c "import torch; assert torch.cuda.is_available(); print(torch.cuda.get_device_name(0))"
"""
[data]
validation_command = """
uv run --no-dev python -c "from pathlib import Path; files=sorted(Path('data/processed/minimal').glob('*.npz')); assert len(files) >= 6; print(f'processed_minimal_cases={len(files)}')"
"""
[job]
command = """
uv run --no-dev remote-run smoke-train configs/remote_mlp_tiny.toml --artifact-dir artifacts/current_run --run-id "$AIRFRANS_REMOTE_RUN_ID"
"""
artifact_dir = "artifacts/current_run"
heartbeat_file = "artifacts/current_run/heartbeat.json"
metrics_file = "artifacts/current_run/metrics.jsonl"
[artifacts]
mode = "rsync"
required = [
"final_metrics.json",
"metrics.jsonl",
"checkpoint.pt",
"run_manifest.json",
"environment_manifest.json",
"artifact_manifest.json",
"checksums.txt",
]
[cleanup]
on_success = "sky_down"
on_failure = "collect_then_keep"