Skip to content

Commit

Permalink
The OVERHAUL (#78)
Browse files Browse the repository at this point in the history
* Complete refactor of the Regularized structures:
  - Only one struct named `Regularized`, every regularized layer is a particular case of it
  - Specific constructors for `SparseArgmax`, `SoftArgmax`, and `RegularizedFrankWolfe`
  - Now we can also use `Regularized` with a custom optimizer (we may need to test this feature)

* The OVERHAUL

* Fix tutorial in tests, more docs

* Bump version

* Fix Léo's remarks

* Fix imports

* typo

* Don't export compress_dist

---------

Co-authored-by: BatyLeo <[email protected]>
  • Loading branch information
gdalle and BatyLeo authored Jun 30, 2023
1 parent 7dcc51d commit b9f4f69
Show file tree
Hide file tree
Showing 49 changed files with 1,302 additions and 1,286 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
*.jl.mem
/Manifest.toml
/docs/build/
/docs/src/index.md
/docs/src/tutorial.md
/test/profiling.jl

.vscode
*.tar.gz
*.zip
*.csv
Expand Down
4 changes: 2 additions & 2 deletions CITATION.bib
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ @misc{InferOpt.jl
author = {Guillaume Dalle, Léo Baty, Louis Bouvier and Axel Parmentier},
title = {InferOpt.jl},
url = {https://github.com/axelparmentier/InferOpt.jl},
version = {v0.4.0},
year = {2022},
version = {v0.5.0},
year = {2023},
month = {7}
}
4 changes: 1 addition & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
name = "InferOpt"
uuid = "4846b161-c94e-4150-8dac-c7ae193c601f"
authors = ["Guillaume Dalle", "Léo Baty", "Louis Bouvier", "Axel Parmentier"]
version = "0.5.0-DEV"
version = "0.5.0"

[deps]
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
DifferentiableFrankWolfe = "b383313e-5450-4164-a800-befbd27b574d"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SimpleTraits = "699a6c99-e7fa-54fc-8d76-47d257e15c1d"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
ThreadsX = "ac1d9e8a-700a-412c-b207-f0111f4b6c0d"
Expand All @@ -22,7 +21,6 @@ InferOptFrankWolfeExt = "DifferentiableFrankWolfe"
[compat]
ChainRulesCore = "1"
DifferentiableFrankWolfe = "0.1.2"
SimpleTraits = "0.9"
StatsBase = "0.33, 0.34"
TestItemRunner = "0.2.2"
ThreadsX = "0.1.11"
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ To install the stable version, open a Julia REPL and run the following command:
julia> using Pkg; Pkg.add("InferOpt")
```

To install the development version, run this command instead:
To install the development version (*recommended for now*), run this command instead:

```julia
julia> using Pkg; Pkg.add(url="https://github.com/axelparmentier/InferOpt.jl")
Expand All @@ -33,3 +33,11 @@ julia> using Pkg; Pkg.add(url="https://github.com/axelparmentier/InferOpt.jl")
If you use our package in your research, please cite the following paper:

> [Learning with Combinatorial Optimization Layers: a Probabilistic Approach](https://arxiv.org/abs/2207.13513) - Guillaume Dalle, Léo Baty, Louis Bouvier and Axel Parmentier (2022)
## Related packages

The following libraries implement similar functionalities:

- [ImplicitDifferentiation.jl](https://github.com/gdalle/ImplicitDifferentiation.jl): automatic differentiation of implicit functions
- [DiffOpt.jl](https://github.com/jump-dev/DiffOpt.jl): differentiating convex optimization programs w.r.t. program parameters
- [JAXopt](https://github.com/google/jaxopt): hardware accelerated, batchable and differentiable optimizers in JAX
Loading

0 comments on commit b9f4f69

Please sign in to comment.