JuliaDecisionFocusedLearning / InferOpt.jl

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

The OVERHAUL #78

Closed gdalle closed 1 year ago

gdalle commented 1 year ago
julia> using AbstractTrees, InferOpt, InteractiveUtils

julia> AbstractTrees.children(x::Type) = subtypes(x)

julia> print_tree(InferOpt.AbstractLayer)
AbstractLayer
├─ AbstractLossLayer
│  ├─ FenchelYoungLoss
│  ├─ ImitationLoss
│  ├─ SPOPlusLoss
│  └─ StructuredSVMLoss
├─ AbstractOptimizationLayer
│  ├─ AbstractPerturbed
│  │  ├─ PerturbedAdditive
│  │  └─ PerturbedMultiplicative
│  ├─ AbstractRegularized
│  │  ├─ RegularizedFrankWolfe
│  │  ├─ SoftArgmax
│  │  └─ SparseArgmax
│  ├─ IdentityRelaxation
│  └─ Interpolation
└─ Pushforward
codecov-commenter commented 1 year ago

Codecov Report

Patch coverage: 86.00% and project coverage change: +4.69 :tada:

Comparison is base (7dcc51d) 80.05% compared to head (5f3608a) 84.75%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #78 +/- ## ========================================== + Coverage 80.05% 84.75% +4.69% ========================================== Files 19 18 -1 Lines 346 341 -5 ========================================== + Hits 277 289 +12 + Misses 69 52 -17 ``` | [Impacted Files](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) | Coverage Δ | | |---|---|---| | [src/InferOpt.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL0luZmVyT3B0Lmps) | `100.00% <ø> (ø)` | | | [src/imitation/spoplus\_loss.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL2ltaXRhdGlvbi9zcG9wbHVzX2xvc3Muamw=) | `89.65% <ø> (ø)` | | | [src/perturbed/abstract\_perturbed.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3BlcnR1cmJlZC9hYnN0cmFjdF9wZXJ0dXJiZWQuamw=) | `90.00% <ø> (ø)` | | | [src/perturbed/additive.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3BlcnR1cmJlZC9hZGRpdGl2ZS5qbA==) | `83.33% <ø> (ø)` | | | [src/perturbed/multiplicative.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3BlcnR1cmJlZC9tdWx0aXBsaWNhdGl2ZS5qbA==) | `83.33% <ø> (ø)` | | | [src/simple/interpolation.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3NpbXBsZS9pbnRlcnBvbGF0aW9uLmps) | `80.00% <ø> (ø)` | | | [src/utils/probability\_distribution.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3V0aWxzL3Byb2JhYmlsaXR5X2Rpc3RyaWJ1dGlvbi5qbA==) | `62.50% <ø> (+25.91%)` | :arrow_up: | | [src/utils/some\_functions.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3V0aWxzL3NvbWVfZnVuY3Rpb25zLmps) | `90.47% <ø> (ø)` | | | [src/utils/pushforward.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3V0aWxzL3B1c2hmb3J3YXJkLmps) | `38.46% <42.85%> (ø)` | | | [src/regularized/regularized\_frank\_wolfe.jl](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3JjL3JlZ3VsYXJpemVkL3JlZ3VsYXJpemVkX2ZyYW5rX3dvbGZlLmps) | `72.72% <72.72%> (ø)` | | | ... and [8 more](https://app.codecov.io/gh/axelparmentier/InferOpt.jl/pull/78?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.