JuliaDecisionFocusedLearning / InferOpt.jl

Combinatorial optimization layers for machine learning pipelines
https://juliadecisionfocusedlearning.github.io/InferOpt.jl/
MIT License
114 stars 4 forks source link

Interface with DifferentiableExpectations.jl #117

Open BatyLeo opened 2 months ago

BatyLeo commented 2 months ago

Now that DifferentiableExpectations is registered, we can update InferOpt internals to rely on it.

gdalle commented 2 months ago

For Perturbed, define a new struct containing a Reinforce. Identify additive and multiplicative settings based on what the struct contains?

struct Perturbed
    # other stuff
    re::Reinforce
end

do_stuff(::Perturbed{Reinforce{<:Normal}})  # ~ additive
do_stuff(::Perturbed{Reinforce{<:LogNormal}})  # ~ multiplicative