RL-среда Gymnasium
экспериментально
nextstat.gym предоставляет опциональную обёртку Gymnasium/Gym, которая трактует HistFactory workspace как RL/DOE-среду. Вы предлагаете обновления номинальных yields образца (напр. сигнальную гистограмму) и получаете метрику NextStat как награду.
Установка
pip install nextstat gymnasium numpyБыстрый старт
from pathlib import Path
from nextstat.gym import make_histfactory_env
ws_json = Path("workspace.json").read_text()
env = make_histfactory_env(
ws_json,
channel="singlechannel",
sample="signal",
reward_metric="q0", # максимизировать значимость открытия
max_steps=64,
action_scale=0.02,
action_mode="logmul", # мультипликативные обновления в лог-пространстве
init_noise=0.0,
)
obs, info = env.reset(seed=123)
total = 0.0
for _ in range(64):
action = env.action_space.sample()
obs, reward, terminated, truncated, info = env.step(action)
total += float(reward)
if terminated or truncated:
break
print("episode reward:", total)Метрики награды
| Метрика | Профилируется? | Описание |
|---|---|---|
| nll | Нет | -NLL при фиксированных параметрах (быстро, много шагов/сек) |
| q0 / z0 | Да | Тестовая статистика открытия / значимость |
| qmu / zmu | Да | -qμ / -sqrt(qμ) для оптимизации верхнего предела |
Конфигурация
action_mode—"additive"(прямая дельта) или"logmul"(мультипликативный в лог-пространстве)action_scale— масштабный фактор для действий (по умолчанию 0.02)max_steps— длина эпизода до обрезкиinit_noise— Гауссов шум, добавляемый к начальным yields при сбросе
Примечания
- Профильные награды (q0, qmu) выполняют оптимизацию внутри — тяжелее за шаг, чем режим NLL.
- Совместим с обоими
gymnasium(предпочтительно) и устаревшимgym. - Среда модифицирует модель на месте, переопределяя номинальные yields одного образца.
