e.g. `dual_objective(model, y, p)` and `dual_objective_and_gradient(model, y, p)` that takes care of the `y` shapes Need to consider batching and CUDA compat here.
e.g.
dual_objective(model, y, p)anddual_objective_and_gradient(model, y, p)that takes care of theyshapesNeed to consider batching and CUDA compat here.