Releases: IDSIA/sacred
Releases · IDSIA/sacred
Release 0.7.2
Minor features release:
- API Change: added host_info to queued_event
- Feature: improved and configurable dependency discovery system
- Feature: improved and configurable source-file discovery system
- Feature: better error messages for missing or misspelled commands
- Feature: -m flag now supports passing an id for a run to overwrite
- Feature: allow captured functions to be called outside of a run (thanks @berleon)
- Bugfix: fixed issue with telegram imports (thanks @millawell)
Release 0.7.1
Bugfixes and improved Tensorflow support.
- Refactor: lazy importing of many optional dependencies
- Feature: added metrics API for adding live monitoring information to the MongoDB
- Feature: added integration with tensorflow for automatic capturing of LogWriter paths
- Feature: set seed of tensorflow if it is imported
- Feature: named_configs can now affect the config of ingredients
- Bugfix: failed runs now return with exit code 1 by default
- Bugfix: fixed a problem with UTF-8 symbols in stdout
- Bugfix: fixed a threading issue with the SQLObserver
- Bugfix: fixed a problem with consecutive ids in the SQLObserver
- Bugfix: heartbeat events now also serialize the intermediate results
- Bugfix: reapeatedly calling run from python with an option for adding an
observer, no longer duplicates observers - Bugfix: fixed a problem where **kwargs of captured functions might be modified
- Bugfix: fixed an encoding problem with the FileStorageObserver
- Bugfix: fixed an issue where determining the version of some packages would crash
- Bugfix: fixed handling of relative filepaths in the SQLObserver and the TinyDBObserver
Release 0.7.0
Major feature release that breaks backwards compatibility in a few cases.
- Feature: host info now contains information about NVIDIA GPUs (if available)
- Feature: git integration: sacred now collects info about the git repository
of the experiment (if available and if gitpython is installed) - Feature: new
--enforce-clean
flag that cancels a run if the
git repository is dirty - Feature: added new TinyDbObserver and TinyDbReader (thanks to @MrKriss)
- Feature: added new SqlObserver
- Feature: added new FileStorageObserver
- Feature: added new SlackObserver
- Feature: added new TelegramObserver (thanks to @black-puppydog)
- Feature: added save_config command
- Feature: added queue flag to just queue a run instead of executing it
- Feature: added TimeoutInterrupt to signal that a run timed out
- Feature: experiments can now be run in Jupyter notebook, but will fail with
an error by default, which can be deactivated using interactive=True - Feature: allow to pass unparsed commandline string to
ex.run_commandline
. - Feature: improved stdout/stderr capturing: it now also collects non-python
outputs and logging. - Feature: observers now share the id of a run and it is available during
runtime asrun._id
. - Feature: new
--print_config
flag to always print config first - Feature: added sacred.SETTINGS as a place to configure some of the behaviour
- Feature: ConfigScopes now extract docstrings and line comments and display
them when callingprint_config
- Feature: observers are now run in order of priority (settable)
- Feature: new
--name=NAME
option to set the name of experiment for this run - Feature: the heartbeat event now stores an intermediate result (if set).
- Feature: ENVIRONMENT variables can be captured as part of host info.
- Feature: sped up the applying_lines_and_backfeeds stdout filter. (thanks to @remss)
- Feature: adding resources by name (thanks to @d4nst)
- API Change: all times are now in UTC
- API Change: significantly changed the mongoDB layout
- API Change: MongoObserver and FileStorageObserver now use consecutive
integers as _id - API Change: the name passed to Experiment is now optional and defaults to the
name of the file in which it was instantiated.
(The name is still required for interactive mode) - API Change: Artifacts can now be named, and are stored by the observers under
that name. - API Change: Experiment.run_command is deprecated in favor of run, which now
also takes a command_name parameter. - API Change: Experiment.run now takes an options argument to add
commandline-options also from python. - API Change: Experiment.get_experiment_info() now returns source-names as
relative paths and includes a separate base_dir entry - Dependencies: Migrated from six to future, to avoid conflicts with old
preinstalled versions of six. - Bugfix: fixed a problem when trying to set the loglevel to DEBUG
- Bugfix: type conversions from None to some other type are now correctly ignored
- Bugfix: fixed a problem with stdout capturing breaking tools that access
certain attributes ofsys.stdout
orsys.stderr
. - Bugfix: @main, @automain, @command and @capture now support functions with
Python3 style annotations. - Bugfix: fixed a problem with config-docs from ingredients not being propagated
- Bugfix: fixed setting seed to 0 being ignored
Release 0.6.10
A minor release to incorporate a few bugfixes and minor features before the upcoming big 0.7 release
- Bugfix: fixed a problem when trying to set the loglevel to DEBUG
- Bugfix: fixed a random crash of the heartbeat thread (see #101).
- Feature: added --force/-f option to disable errors and warnings concerning
suspicious changes. (thanks to Yannic Kilcher) - Feature: experiments can now be run in Jupyter notebook, but will fail with
an error by default, which can be deactivated using interactive=True - Feature: added support for adding a captured out filter, and a filter that
and applies backspaces and linefeeds before saving like a terminal
would. (thanks to Kevin McGuinness)
Minor Release 0.6.8
0.6.8 (2016-01-14)
- Feature: Added automatic conversion of
pandas
datastructures in the
custom info dict to json-format in the MongoObserver. - Feature: Fail if a new config entry is added but it is not used anywhere
- Feature: Added a warning if no observers were added to the experiment.
Added also anunobserved
keyword to commands and a
--unobserved
commandline option to silence that warning - Feature: Split the debug flag
-d
into two flags:-d
now only disables
stacktrace filtering, while-D
adds post-mortem debugging. - API change: renamed
named_configs_to_use
kwarg inex.run_command
method tonamed_configs
- API change: changed the automatic conversion of numpy arrays in the
MongoObserver from pickle to human readable nested lists. - Bugfix: Fixed a problem with debugging experiments.
- Bugfix: Fixed a problem with numpy datatypes in the configuration
- Bugfix: More helpful error messages when using
return
oryield
in a
config scope - Bugfix: Be more helpful when using -m/--mongo_db and pymongo is not installed