Changes to minihmm
are documented here.
Version numbers follow following the conventions described in PEP440 and Semantic versioning. Because we're still below v1, minor updates might break backward compatibility.
- Fixed breaking code typo in :class:`minihmm.represent.ModelReducer.joint_path_logprob`
- Added placeholder tests that at least guarantee execution of :class:`minihmm.represent.ModelReducer` methods
- Reorganized & clarified test names
- Python 2.7 support dropped
- Test environments changed to Python 3.6 and 3.9
- Dockerized
- BREAKING: footprint of serialized objects now smaller
- Improved screen output in
DefaultLoggerFactory()
- Improved code styling
- Restored Python 3 compatibility
- Migrated serialization setup to
jsonpickle
, a practice much saner than what I had been previously doing. This breaks backward compatibility with v0.1.4 JSON blobs, but enables far more flexibility in what can be serialized - replace older
(de)serialize()
methods with much sanerget_header()
andget_row()
for export of models asDataFrame
rows (e.g. to watch parameter trajectories during training train_baum_welch()
can now weight individual observations- changed logging in
train_baum_welch()
. This led to some backward-incompatible changes, but is much nicer. It also includes aDefaultLoggerFactory()
so people don't have to comb through insane logs anymore - Unit tests and multiple improvments for
train_baum_welch()
- Some class properties are now manged, saving me from myself
to_dict()
andfrom_dict()
methods specified for serializing models as JSON blobs- Convenience methods for building HMM tables from known observations, optionally with weights
- Speed improvements under the hood
- Suppression of non-useful warnings, and creation of useful ones
- Unit tests for key features
- Model reduction tested and working, even though unit tests not yet fleshed out
- Valid pseudocount arrays now generated for state priors in high order space (before was only for transition tables)
- Added warnings in places where unexpected side effects could be caused by valid calculations (e.g. uncaught nan)
- Serialization sketched out for FirstOrderHMMs
- Methods for serializing and deserializing large matrices to JSON
- Methods for reducing high-order models to first-order models, and for converting state sequences between orders
- Yet more unit tests
- Can now sample state paths given an observation sequence, from the
- conditional distribution P(Path | observation sequence)
- Unit tests
- miniHMM factored out of unpublished scientific project
- Migration from SVN to GIT repo
- get_free_parameters() and from_parameters() replaced by serialize() and deserialize() methods in all factors