Tags

Tags give the ability to mark specific points in history as being important
  • 0.4.2

    24f8a69b · Delete .DS_Store ·
    Release: v0.4.2
    v0.4.2
    
    Making progress towards v0.4.0 goals.
    
    - Functions are moved from projected_gradients to matg_gdm.
    - Both have identical return types, although matg_gdm does not take
      desired_gap as argument.
    - test_scale_invariant ensures that the solver can handle rewards in
      [0,\infty). This was a really interesting bug in ExtendNE.
    - API cleanup has also been done: removing unnecessary `num_actions`
      argumetns when they can be deduced, especially in utils.py.
    - algorithm.py has also been cleaned up; intermediate functions have
      been removed/inlined when needed, stray jit calls have been pruned.
    - some more use of jaxtyping as well.
    
    TODO:
    - Experiments and benchmarks are broken, might need fixing later.
    - Consider wrapping all algorithm parameters in chex DataClasses.
    - Expand the test-suite.
  • 0.4.0

    Release: 0.4.0
    v0.4.0 - compilation and QoL
    
    The changelog revolves mostly around efficiency improvements, both for
    the compilation times as well as execution.
    
    - IMPORTANT !!! ProjectedGradients now runs on GPU. This was made
      possible by a whole suite of improvements w.r.t. to the value function
      calculation, compilation graph simplification (no more decisions on
      the hot-path vis-à-vis what to execute), and some use of
      jax.lax.stop_gradient to better indicate what we need/don't need.
    - Both versions of ProjectedGradients (w or w/o early-stopping) benefit
      from this. In particular, the early-stopping also times out at a
      maximum number of iterations - this was not possible before since I
      didn't know about jnp.logical_and (JAX and python's `and` do not get
      along well).
    
    TODO:
    
    - standardize notation: move away from projected_gradients towards
      matg_gdm.
    - Clean up the return-types of both versions - they are identical for
      now, but move to a dictionary for readability.
    - testing via pytest. Making the execution identical across both
      versions is an end-goal. There are minor differences in stopping
      iterations, but nothing too serious.
    - documentation and CI/CD.
  • v0.3.0-paper

    Release: v0.3.0
    Code used for AAMAS2026 submission