You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests/test_benchmark.py::test_benchmark_model_simulates_end_to_end (marked @pytest.mark.long_running, so deselected from default pixi run -e tests-cpu tests) fails on main with:
lcm.exceptions.InvalidValueFunctionError: Value function at age 51 in regime 'dead': all values are NaN.
This is independent of the runtime-consumption-points work in PR #8 — the dead regime has no consumption action, and the same failure reproduces with both the static-points and runtime-points versions of the consumption grid.
Provenance
The test was originally masked by a different failure: AttributeError: 'PiecewiseLinSpacedGrid' object has no attribute 'start' in get_benchmark_initial_conditions (introduced when AIME became piecewise; the .start/.stop reads no longer work). PR Anchor consumption grid lower bound to consumption_floor parameter #8 incidentally fixes that by switching to to_jax().min()/.max().
With that fixed, the next failure is the NaN-in-V described above.
Suggested next step
Re-run with debug logging to identify whether the NaN enters via utility.dead → preferences.bequest, utility_scale_factor, or somewhere else:
The benchmark coefficient_rra for type_1 is 0.999077, which sits just outside jnp.isclose(gamma, 1.0)'s default tolerance (~1e-5). Both branches of the where in bequest/utility_scale_factor are evaluated under JAX, and the log-branch hits log(0) if assets_shifted ever lands on a zero — worth inspecting first.
Reproducer
pixi run -e tests-cpu tests aca-model/tests/test_benchmark.py -m long_running
Summary
tests/test_benchmark.py::test_benchmark_model_simulates_end_to_end(marked@pytest.mark.long_running, so deselected from defaultpixi run -e tests-cpu tests) fails onmainwith:This is independent of the runtime-consumption-points work in PR #8 — the
deadregime has noconsumptionaction, and the same failure reproduces with both the static-points and runtime-points versions of the consumption grid.Provenance
AttributeError: 'PiecewiseLinSpacedGrid' object has no attribute 'start'inget_benchmark_initial_conditions(introduced when AIME became piecewise; the.start/.stopreads no longer work). PR Anchor consumption grid lower bound to consumption_floor parameter #8 incidentally fixes that by switching toto_jax().min()/.max().Suggested next step
Re-run with debug logging to identify whether the NaN enters via
utility.dead → preferences.bequest,utility_scale_factor, or somewhere else:The benchmark
coefficient_rrafortype_1is 0.999077, which sits just outsidejnp.isclose(gamma, 1.0)'s default tolerance (~1e-5). Both branches of thewhereinbequest/utility_scale_factorare evaluated under JAX, and the log-branch hitslog(0)ifassets_shiftedever lands on a zero — worth inspecting first.Reproducer