optimizer.stateless_apply() updates trainable variables without mutating hidden optimizer state. Pass optimizer variables, gradients, and trainable variables; receive updated trainable and optimizer variables. This explicit state flow supports JAX-style custom training loops. section 7.4.2
JAX-style Keras training step
Initialize optimizer variables with optimizer$build(), store all variable values in state, apply gradients with optimizer$stateless_apply(), then return loss and the rebuilt state.
