Skip to content

Releases: JuliaDiff/DifferentiationInterface.jl

DifferentiationInterface-v0.5.10

31 Jul 13:46
81d0257
Compare
Choose a tag to compare

TLDR

  • Improvements in Hessian performance with SecondOrder(AutoForwardDiff(), AutoReverseDiff())
  • Some behind-the-scenes work to enable differentiation of more generic structs, with the first tests for Flux and Lux neural nets (not part of API guarantees)

What's Changed

  • CompatHelper: add new compat entry for FiniteDifferences in [weakdeps] at version 0.12 for package DifferentiationInterfaceTest, (keep existing compat) by @github-actions in #368
  • CompatHelper: add new compat entry for Flux in [weakdeps] at version 0.14 for package DifferentiationInterfaceTest, (keep existing compat) by @github-actions in #367
  • Fix Flux compat bound by @gdalle in #369
  • Smarter symmetric decompression by @gdalle in #370
  • Debug Flux tests by @gdalle in #371
  • Fix size-1 Jacobian with Enzyme by @gdalle in #374
  • Handle closures with Enzyme by @gdalle in #375
  • Relax DocStringExtensions compat entries by @adrhill in #379
  • Keep tests in same env by @gdalle in #381
  • Better handling of AutoEnzyme(constant_function=false) by @gdalle in #382
  • Put some Enzyme stuff in utils by @gdalle in #384
  • Test ForwardDiff over ReverseDiff by @gdalle in #386
  • ForwardDiff over anything - prepare inner gradient for HVP by @gdalle in #385
  • Update Compat's compat by @gdalle in #389
  • Bump SparseConnectivityTracer compat to v0.6 by @adrhill in #392
  • Don't test on 'lts' and 'pre' for draft PRs by @gdalle in #391
  • Add Lux tests by @gdalle in #372
  • Revert handling of AutoEnzyme(; constant_function) by @gdalle in #394
  • Bump DI version to 0.5.10 by @gdalle in #395

Full Changelog: DifferentiationInterface-v0.5.9...DifferentiationInterface-v0.5.10

DifferentiationInterface-v0.5.9

17 Jul 11:10
8f08931
Compare
Choose a tag to compare

What's Changed

  • Weird array test scenarios in DIT extensions by @gdalle in #359
  • Put test dependencies in individual projects by @gdalle in #361
  • CompatHelper: add new compat entry for PackageExtensionCompat at version 1 for package DifferentiationInterfaceTest, (keep existing compat) by @github-actions in #362
  • Use dy=true for gradient (smallest possible 1) by @gdalle in #363
  • First test scenarios for Flux gradients by @nialamarcotte in #352
  • Make Flux scenarios private in DIT by @gdalle in #364
  • Bump DI to v0.5.9 by @gdalle in #365

New Contributors

Full Changelog: DifferentiationInterface-v0.5.8...DifferentiationInterface-v0.5.9

DifferentiationInterface-v0.5.8

15 Jul 21:18
1299a5e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: DifferentiationInterface-v0.5.7...DifferentiationInterface-v0.5.8

DifferentiationInterface-v0.5.7

27 Jun 16:20
102fa86
Compare
Choose a tag to compare

DifferentiationInterfaceTest-v0.5.0

27 Jun 05:41
ff529cb
Compare
Choose a tag to compare

TLDR

Breaking changes to the Scenario API in #323. The constructors now require more data, the ref_backend has (temporarily?) disappeared for test_differentiation, and benchmark_differentiation directly returns a DataFrame.

What's Changed

Full Changelog: DifferentiationInterfaceTest-v0.4.4...DifferentiationInterfaceTest-v0.5.0

DifferentiationInterface-v0.5.6

27 Jun 05:46
ff529cb
Compare
Choose a tag to compare

TLDR

A lot of internal changes to allow for batched mode pushforward, pullback and hvp (propagating several seeds at once) in #320 and other PRs. The end result is that jacobian and hessian should be faster for the backends that support it, in both dense and sparse settings.

At the moment, batched mode is not public API, and only works with ForwardDiff (by storing several Partials in a Dual number), but I plan to add Enzyme soon (leveraging BatchDuplicated). When I say "not public API", I mean that users will reap the benefits by default when they call jacobian or hessian, but shouldn't rely on the lower-level primitives pushforward, pullback and hvp to work in batched mode (this behavior is not documented anyway).

What's Changed

Full Changelog: DifferentiationInterface-v0.5.5...DifferentiationInterface-v0.5.6

DifferentiationInterfaceTest-v0.4.4

11 Jun 11:35
e93d16a
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: DifferentiationInterface-v0.5.4...DifferentiationInterfaceTest-v0.4.4

DifferentiationInterface-v0.5.5

11 Jun 11:34
e93d16a
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: DifferentiationInterface-v0.5.4...DifferentiationInterface-v0.5.5

DifferentiationInterfaceTest-v0.4.3

06 Jun 10:18
0b7a2f9
Compare
Choose a tag to compare

What's Changed

Full Changelog: DifferentiationInterfaceTest-v0.4.2...DifferentiationInterfaceTest-v0.4.3

DifferentiationInterface-v0.5.4

06 Jun 10:07
0b7a2f9
Compare
Choose a tag to compare

What's Changed

  • Update fallback for mutating second-order operators by @gdalle in #298
  • Remove last remnants of SymbolicsSparsityDetector by @gdalle in #301
  • Operators that combine first and second order by @gdalle in #300
  • Make Zygote extension depend on ForwardDiff too by @gdalle in #303
  • Measure code coverage for test folder too by @gdalle in #304
  • Test on 1.11 by @gdalle in #302
  • Implement value_gradient_and_hessian by @gdalle in #305
  • Fix docs typo by @gdalle in #306
  • Bump DI compat in DIT by @gdalle in #308

Full Changelog: DifferentiationInterface-v0.5.3...DifferentiationInterface-v0.5.4