Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4. Воспроизведение, публикация на Hugging Face и GitHub

4.1 Разделение публикации по уровням

Публичный учебный материал должен одновременно быть читаемым, воспроизводимым и безопасным. Ресурсы лучше разложить на три уровня:

МестоЧто хранитсяЧто не хранится
GitHub 15-challenges/ATEC2026/Markdown, лёгкий Python, шаблоны конфигураций, лицензии, зафиксированные commit, разбор проблемвеса, наборы данных, кеши, приватные логи, токены
Hugging Face, Datawhaleполные снимки исходного кода, веса моделей, отфильтрованные данные, видео, архивы логов, SHA256токены, приватные IP, неочищенные полные каталоги серверов
Локально / серверIsaac Sim, conda-окружения, исходные выходы обучения, кеши и промежуточные checkpointне используется как путь по умолчанию в учебном материале

Команды в документации должны использовать переменные $PROJECT_ROOT, $DATA_ROOT, $MODEL_ROOT и не должны содержать абсолютных путей с машины автора.

4.2 Воспроизведение внешних репозиториев

Из этого каталога выполните:

export ATEC_REFERENCE_ROOT=/path/to/atec-reference-repos
bash code/external_repo_audit/clone_references.sh "$ATEC_REFERENCE_ROOT"

Ожидаемый результат:

$ATEC_REFERENCE_ROOT/logic-tars-atec
$ATEC_REFERENCE_ROOT/zsn2024-atec2026
$ATEC_REFERENCE_ROOT/yma867-atec2026-ril

Этот шаг проверяет только то, что публичные репозитории и зафиксированные commit можно получить. Он не означает, что Isaac Lab установлен и что policy можно запустить на вашей машине.

4.3 Минимальный smoke test

Уровень кода

python3 -m py_compile code/taskd_reference_adapter.py

Это доказывает только корректность синтаксиса Python и структуры файлов, но не правильность поведения робота.

Уровень интерфейса

python3 code/taskd_reference_adapter.py

Скрипт должен вывести, как 16D вход превращается в 24D выход, и какие стадии Task D соответствуют разным значениям оценки. Он не запускает Isaac Sim и не заменяет официальный оценщик.

Уровень симуляции

В уже настроенном окружении Isaac Sim / Isaac Lab сначала запустите одно окружение:

python tools/atec/list_envs.py
python tools/atec/play_task.py \
  --task ATEC-TaskD-B2wPiper \
  --headless --num_envs 1 --debug

Точное имя окружения зависит от текущей версии официального репозитория. В первый раз проверяйте только окно, робота, камеры, shape действий и логи, без длительного обучения.

4.4 Что загружается на Hugging Face

Рекомендуется создать публичный репозиторий наборов данных Datawhale, например:

Datawhale/atec2026-simulation-challenge-reproducibility

Рекомендуемая структура каталогов:

README.md
manifests/
  external_repos.yaml
  checksums.sha256
source/
  taskd_reference_adapter.py
  external_repo_audit/
references/
  logic-tars/
  zsn2024/
  yma867/
logs/
  redacted/
videos/

Снимки сторонних исходников обязательно включают исходную лицензию и upstream commit. Если репозиторий слишком большой, можно загрузить только манифест и патчи различий, а в учебном материале на GitHub дать ссылку на зафиксированный commit upstream.

4.5 Проверка перед публикацией

rg -n -i \
  'hf_[A-Za-z0-9]{20,}|token|password|secret|api[_-]?key|/[h]ome/|/[d]ata/' \
  15-challenges/ATEC2026

Что должно быть в результатах:

  • токенов, паролей и приватных ключей быть не должно;
  • абсолютные пути машины могут встречаться только в примерах с пометкой «замените на свой путь»;
  • локальные абсолютные пути заменяются на $PROJECT_ROOT, $DATA_ROOT или /path/to/...;
  • из логов удалены названия приватных серверов, внутренние IP, URL подписок и данные аккаунтов;
  • большие файлы передаются через Git LFS или Hugging Face и не попадают в обычную историю Git;
  • каждый вес и каждый фрагмент данных имеет SHA256;
  • не потеряны лицензия, авторы, ссылки на upstream и зафиксированный commit сторонних репозиториев.

4.6 Как читатель должен понимать результаты

В учебном материале доказательства делятся на три класса:

  1. Проверено: исходный код, проверка синтаксиса, хэши файлов, вывод фиксированных команд или локальное видео напрямую это подтверждают.
  2. Самооценка автора: рейтинг, время обучения или точность, указанные в README публичного репозитория.
  3. Требует воспроизведения: нужны Isaac Sim, GPU, checkpoint или официальный оценщик; сейчас можно указать только путь воспроизведения.

Так не смешиваются в один вывод утверждения «код можно скачать», «policy загружается», «робот двигается» и «задача набрала высокий балл».