Skip to content

Releases: IDSIA/sacred

Release 0.7.2

06 May 13:24
Compare
Choose a tag to compare

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

06 May 13:22
Compare
Choose a tag to compare

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

07 May 23:08
Compare
Choose a tag to compare

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 as run._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 calling print_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 of sys.stdout or sys.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

08 Aug 13:45
Compare
Choose a tag to compare

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

13 Jan 18:59
Compare
Choose a tag to compare

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 an unobserved 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 in ex.run_command
    method to named_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 or yield in a
    config scope
  • Bugfix: Be more helpful when using -m/--mongo_db and pymongo is not installed