mikusama99/cs2-training-review-500-20260907
CS2 Training Review 500
A Chinese-language video review workspace for a frozen random sample of the 2026-09-06 CS2 tactical action dataset. The original English labels are displayed verbatim, with segment seeking and full JSON downloads.
The source currently contains 11,540 labeled samples. This workspace samples 500 of the 9,688 training samples, without replacement, using Python random.Random(20260907).sample. Validation and test samples are excluded. No quality-based preselection is applied. The sample includes 246 one-action, 140 two-action and 114 three-action clips and covers all seven action types. See data/sampling_report.json for source hashes, sampling identity and checks.
Review workflow
- Watch the video alongside the complete English labels. Click segment or action timestamps to play the corresponding interval; 0.5x and 0.75x playback are available.
- Click the green check to keep a sample, or the cross to reject it. Both save the issue tags and notes. Decisions are reversible through the pending button.
- Add issue tags and timestamped notes. Notes save with a decision, with the save button, or before changing samples. An unsaved draft warns before page close.
- Filter by decision, action count, action type, or search ID/map/prompt/notes.
- Keyboard:
Akeep,Xreject, arrows previous/next, space play/pause. Shortcuts are disabled while typing or interacting with a control. - Export the accepted manifest, complete decisions, issue CSV, or accepted media ZIP.
Only explicit check marks enter the accepted manifest. Pending and rejected samples are excluded. The source dataset is never modified or deleted.
Persistence and access
The deployed Space is public, as requested by the dataset owner. Open the URL to view videos and submit decisions without signing in. This is a shared review queue: decisions and progress are shared across visitors. The backing result repository remains private, and its write token stays in a Space secret.
Set the Space variable REVIEW_REPO_ID to a private dataset repository and the secret REVIEW_HF_TOKEN to a token with write access to that repository. Each decision creates one atomic Hub commit containing state.json, accepted_manifest.jsonl, rejected_manifest.jsonl, reviews.jsonl, issues.csv and summary.json. The UI confirms success only after that commit completes. State is reloaded on startup, so sleep/rebuild/restart does not lose it. Optimistic revisions prevent stale tabs from overwriting an existing decision. Uncertain-response retries reuse the operation ID. The deployed server uses one worker.
Without Hub configuration, local development saves to local_reviews/, or to REVIEW_LOCAL_DIR. A hosted Space refuses to start without Hub persistence. Original manifests may contain local provenance paths, which are retained for traceability.
Exports
accepted_manifest.jsonl preserves the exact source rows and source-relative paths; use it against the original source dataset. It updates after every saved decision. The downloadable ZIP includes accepted original MP4s and annotation sidecars, plus a portable manifest_labeled.jsonl whose video.path and annotation_path resolve inside the ZIP. source_manifest.jsonl also preserves the original rows. No videos are reencoded and no labels are rewritten.
The original English label is label.english_json. Top-level prompt and text remain the original short action prompt; choose the intended field when training. All review decisions apply to the fixed 500 samples, not the unsampled population.
Local use and validation
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 7860 --workers 1
python -m pytest tests/test_review.py -qprepare_sample.py SOURCE --output NEW_DIRECTORY --count 500 --seed 20260907 creates a fresh frozen sample; it refuses to replace an existing data/ directory. It verifies all 500 MP4 hashes, H.264/frame counts and exact label matches.
deploy.py --token-file ../key.txt deploys this bundle to a new public Space and configures a private result dataset. Tokens are parsed in memory and never included in app assets or reports. The publisher uses an explicit upload allowlist.
sync_reviews.py --token-file ../key.txt --output ../cs2-review-500-results downloads the latest persisted reports and materializes the approved clips and annotations locally. Run again after a review session to obtain a fresh snapshot.
