File: upgrade.rst

package info (click to toggle)
emcee 3.1.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,460 kB
  • sloc: python: 2,496; makefile: 146; sh: 20
file content (47 lines) | stat: -rw-r--r-- 2,091 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.. _upgrade:

Upgrading From Pre-3.0 Versions
===============================

The version 3 release of emcee is the biggest update in years.
That being said, we've made every attempt to maintain backwards compatibility
while still offering new features.
The main new features include:

1. A :ref:`moves-user` interface that allows the use of a variety of ensemble
   proposals,

2. A more self consistent and user-friendly :ref:`blobs` interface,

3. A :ref:`backends` interface that simplifies the process of serializing the
   sampling results, and

4. The long requested progress bar (implemented using `tqdm
   <https://github.com/tqdm/tqdm>`_) so that users can watch the grass grow
   while the sampler does its thing (this is as simple as installing tqdm and
   setting ``progress=True`` in :class:`EnsembleSampler`).

To improve the stability and supportability of emcee, we also removed some
features.
The main removals are as follows:

1. The ``threads`` keyword argument has been removed in favor of the ``pool``
   interface (see the :ref:`parallel` tutorial for more information).
   The old interface had issues with memory consumption and hanging processes
   when the sampler object wasn't explicitly deleted.
   The ``pool`` interface has been supported since the first release of emcee
   and existing code should be easy to update following the :ref:`parallel`
   tutorial.

2. The ``MPIPool`` has been removed and forked to the `schwimmbad
   <https://github.com/adrn/schwimmbad>`_ project.
   There was a longstanding issue with memory leaks and random crashes of the
   emcee implementation of the ``MPIPool`` that have been fixed in schwimmbad.
   schwimmbad also supports several other ``pool`` interfaces that can be used
   for parallel sampling.
   See the :ref:`parallel` tutorial for more details.

3. The ``PTSampler`` has been removed and forked to the `ptemcee
   <https://github.com/willvousden/ptemcee>`_ project.
   The existing implementation had been gathering dust and there aren't enough
   resources to maintain the sampler within the emcee project.