Skip to content

Commit

Permalink
Update HISTORY.md (#2149)
Browse files Browse the repository at this point in the history
* Update HISTORY.md

* Update HISTORY.md

* Update HISTORY.md

* Apply suggestions from code review

Co-authored-by: Jose Storopoli <jose@storopoli.io>

---------

Co-authored-by: Hong Ge <3279477+yebai@users.noreply.github.com>
Co-authored-by: Jose Storopoli <jose@storopoli.io>
  • Loading branch information
3 people authored Dec 20, 2023
1 parent 81721e8 commit 99a121c
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Release 0.30.0

- Replaced global variable-based AD backend mechanism with [`ADTypes.jl`](https://github.com/SciML/ADTypes.jl). Users should now specify the desired `ADType` directly in sampler constructors, e.g., `HMC(0.1, 10; adtype=AutoForwardDiff(; chunksize))`.
- [`ADTypes.jl`](https://github.com/SciML/ADTypes.jl) replaced Turing's global AD backend. Users should now specify the desired `ADType` directly in sampler constructors, e.g., `HMC(0.1, 10; adtype=AutoForwardDiff(; chunksize))`, or `HMC(0.1, 10; adtype=AutoReverseDiff(false))` (`false` indicates not to use compiled tape).
- Interface functions such as `ADBackend`, `setadbackend`, `setadsafe`, `setchunksize`, and `setrdcache` are deprecated and will be removed in a future release.
- Removed the outdated `verifygrad` function.
- Updated to a newer version of `LogDensityProblemsAD` (v1.7).

# Release 0.12.0

- The interface for defining new distributions with a constrained support and making them compatible with `Turing` has changed. To make a custom distribution type `CustomDistribution` compatible with `Turing`, the user needs to define the method `bijector(d::CustomDistribution)` that returns an instance of type `Bijector` implementing the `Bijectors.Bijector` API.
- `~` is now thread-safe when used for observations, but not assumptions yet.
- There were some performance improvements in the automatic differentiation of functions in `DistributionsAD` and `Bijectors` leading to speeds closer to and sometimes faster than Stan's.
- An HMC initialization bug was fixed. HMC initialization in Turing is now consistent with Stan's.
- The interface for defining new distributions with constrained support and making them compatible with `Turing` has changed. To make a custom distribution type `CustomDistribution` compatible with `Turing`, the user needs to define the method `bijector(d::CustomDistribution)` that returns an instance of type `Bijector` implementing the `Bijectors.Bijector` API.
- `~` is now thread-safe when used for observations, but not assumptions (non-observed model parameters) yet.
- There were some performance improvements in the automatic differentiation (AD) of functions in `DistributionsAD` and `Bijectors`, leading to speeds closer to and sometimes faster than Stan's.
- An `HMC` initialization bug was fixed. `HMC` initialization in Turing is now consistent with Stan's.
- Sampling from the prior is now possible using `sample`.
- `psample` is now deprecated, in favor of `sample(model, sampler, parallel_method, n_samples, n_chains)` where `parallel_method` can be either `MCMCThreads()` or `MCMCDistributed()`. `MCMCThreads` will use your available threads to sample each chain (ensure that you have the environment variable `JULIA_NUM_THREADS` set to the number of threads you want to use) and `MCMCDistributed` will dispatch chain sampling to each available processes (you can add processes with `addprocs()`).
- Turing now uses AdvancedMH v0.5, which mostly provides behind-the -scenes restructuring.
- Custom expressions and macros can be interpolated in the `@model` definition with `$` and it is possible to use `@.` also for assumptions and observations.
- The macros `@varinfo`, `@logpdf`, and `@sampler` are removed. Instead one can access the internal variables `_varinfo`, `_model`, `_sampler`, and `_context` in the `@model` definition.
- Additional constructors for SMC and PG make it easier to choose the resampling method and threshold.
- `psample` is now deprecated in favour of `sample(model, sampler, parallel_method, n_samples, n_chains)` where `parallel_method` can be either `MCMCThreads()` or `MCMCDistributed()`. `MCMCThreads` will use your available threads to sample each chain (ensure that you have the environment variable `JULIA_NUM_THREADS` set to the number of threads you want to use), and `MCMCDistributed` will dispatch chain sampling to each available process (you can add processes with `addprocs()`).
- Turing now uses `AdvancedMH.jl` v0.5, which mostly provides behind-the-scenes restructuring.
- Custom expressions and macros can be interpolated in the `@model` definition with `$`; it is possible to use `@.` also for assumptions (non-observed model parameters) and observations.
- The macros `@varinfo`, `@logpdf`, and `@sampler` are removed. Instead, one can access the internal variables `_varinfo`, `_model`, `_sampler`, and `_context` in the `@model` definition.
- Additional constructors for `SMC` and `PG` make it easier to choose the resampling method and threshold.

# Release 0.11.0
- Removed some extraneous imports and dependencies ([#1182](https://github.com/TuringLang/Turing.jl/pull/1182))
Expand Down

0 comments on commit 99a121c

Please sign in to comment.