Recent Releases of jajapy

jajapy - v0.10.8 : Alergia and Active-BW rework

  • rework for Alergia
  • rework for Active-BW

This update doesn't change anything for the user: the syntax stays the same.

- Python
Published by Rapfff over 2 years ago

jajapy - v0.10.7

A new verbose parameter for BW.fit

The verbose parameter of BW.fit can now take four different values:

  • 0: nothing will be printed
  • 1: the warnings only will be printed
  • 2 (default): the warnings and the progress bar will be printed
  • 3: the warnings, the progress bar and the small recap at the end of the learning will be printed

Consequently, the progress_bar parameter added in v0.10.6 has been removed.

A small improvement for BW.fit for GoHMM

As for the other models, if a state s of the current hypothesis does not play a role in the observed dynamics (training set) the update procedure leaves the distributions for s unchanged.

- Python
Published by Rapfff over 2 years ago

jajapy - v0.10.6

Two new parameters have been added to BW.fit:

  • progress_bar (bool): display or not the progress bar (default is True).
  • processes (int): only for linux: decide how many processes will be used during the learning process (default is cpu_count()-1).

- Python
Published by Rapfff over 2 years ago

jajapy - v0.10.5

New parameter sseed to choose the random seed while generating random model with: - MC_random - CTMC_random - MDP_random - HMM_random - GoHMM_random

and initialising randomly PCTMC parameters with the method: - PCTMC.randomInstantiation

- Python
Published by Rapfff over 2 years ago

jajapy - v0.10.4

  • rework for Alergia
  • minor bug fixes

- Python
Published by Rapfff almost 3 years ago

jajapy - v0.10.2

This update contains some bug fixes.

- Python
Published by Rapfff almost 3 years ago

jajapy - v0.10.1

Bug fixed in the BW.fit and BW.fit_nonInstantiatedParameters methods.

- Python
Published by Rapfff almost 3 years ago

jajapy - v0.10: Parametric models and Prism compatibility

After several months of work, we proudly present you this new version of Jajapy. This update brings two significant new features:

  1. an algorithm for PCTMC parameter estimation, and
  2. compatibility with Prism models.

PCTMCs

Jajapy supports now PCTMCs:

  • PCTMCs can be created, loaded and saved.
  • Jajapy PCTMCs can be translated as Stormpy sparse models.
  • PCTMCs parameters can be estimated,
  • PCTMCs can be learned, and
  • PCTMCs can be synchronously composed, as well as CTMCs.

Prism

  • Jajapy can now load Prism files using the jajapy.loadPrism function.
  • Jajapy model can now be exported into Prism file using the Model.savePrism method.

Miscellaneous

  • There is only one BW class now. Use the BW.fit method to learn any model. The method will recognise which formalism should be used from the initial hypothesis if given, and from the training set otherwise.
  • The BW output model can be saved in a Prism file directly. To do so, set the new output_file_prism parameter of the BW.fit method.
  • GOHMM, being a special case of MGOHMM, has been removed.
  • MGOHMM has been renamed to GoHMM.
  • Saved model before this release may not be compatible with this new version.
  • HMMs and GoHMMs are now created using the two functions createHMM and createGoHMM.
  • The documentation has been remade.

- Python
Published by Rapfff almost 3 years ago

jajapy - v0.9: state labelled update

This is a major update for MCs, CTMCs and MDPs: these models are now state-labelled instead of transition-labelled.

This implies: - New way to create models (the MC_state function has been replaced by createMC, same for MDPs and CTMCs) - The embedding from Jajapy to Stormpy (and the other way around) is now straightforward. - HMMs cannot be translated to Stormpy dtmc anymore (this will perhaps come back in a future release). - The label "init" cannot be used in MCs, MDPs and CTMCs anymore.

This change comes with minor improvement: - The more common errors are not handled properly. - The documentation has been extended and contains now more examples. - New unit tests

- Python
Published by Rapfff about 3 years ago

jajapy - v0.8

  • The initial_model parameter of the BW.fit() method can be a stormpy sparse model (sparseDtmc, sparseMdp or sparseCtmc).
  • We now use the beautiful alive-progress to print beautiful progress bars while Baum-Welch is running.
  • Bug fixes.

- Python
Published by Rapfff over 3 years ago

jajapy - v0.7.1

Minor bug fixes.

New parameters for BW.fit:

  • verbose, bool (default is True): Print or not a small recap at the end of the learning.
  • return_data, bool (default is False): If set to True, a dictionary containing the following values will be returned alongside the hypothesis once the learning is done.'learning_rounds', 'learning_time', 'training_set_loglikelihood'.
  • stormpy_output, bool (default is True): If set to True the output model will be a Stormpy sparse model. (not available for GoHMMs and MGoHMMS).

BW.fit method can take a list or a numpy ndarray as a training set. It will be internally converted to a jajapy.Set.

- Python
Published by Rapfff over 3 years ago

jajapy - v0.7

  • Model checking for shortest path properties on MDPs
  • BW_HMM improved
  • Small summary after learning
  • Can set max number of iterations while using BW
  • Documentation enhanced, addition of the "formal" page

- Python
Published by Rapfff over 3 years ago

jajapy - v0.6 Model converter to stormpy

A new function jajapy.modeltoStorm converts any jajapy.HMM, jajapy.MC, jajapy.MDP and jajapy.MC to the corresponding model in stormpy. Notice that these models are trace-equivalent, but not similar: stormpy models have more states than jajapy models, since labels are on the states in stormpy while on the transitions in jajapy.

New examples have been added.

- Python
Published by Rapfff over 3 years ago

jajapy - v0.5.1

Small correction for setup.py. Now pip install works properly

- Python
Published by Rapfff over 3 years ago

jajapy - Restructuring of models

All the models are now explicitly described with numpy array. It's a little bit worst from the memory perspective but it's a lot better in terms of running time.

The documentation have been updated and improved.

- Python
Published by Rapfff over 3 years ago

jajapy - v0.4

A new way to create model states. Now, to create a MC state with the two following transitions:

  • To state 1, observing 'a', with probability 0.6
  • To state 1, observing 'b', with probability 0.4

it's MC_state([(1,'a',0.6),(1,'b',0.4)],0) instead of MC_state([0.6,0.4],[1,1],['a','b'],0) 0 being this state ID

- Python
Published by Rapfff over 3 years ago

jajapy - v0.3

Units tests ✅ More examples in the documentation

- Python
Published by Rapfff over 3 years ago

jajapy - v0.2

Documentation is here!

- Python
Published by Rapfff over 3 years ago

jajapy - v0.1.1

First release.

- Python
Published by Rapfff over 3 years ago