Skip to content

Releases: automl/SMAC3

Version 0.8.0

15 Dec 12:26
56a5af9
Compare
Choose a tag to compare

Major changes

  • Upgrade to ConfigSpace (0.4.X), which is not backwards compatible. On the plus
    side, the ConfigSpace is about 3-10 times faster, depending on the task.
  • FIX #240: improved output directory structure. If the user does not specify
    an output directory a SMAC experiment will have the following structure:
    smac_/run_<run_id>/*.json. The user can specify a output directory, e.g.
    ./myExperiment or ./myExperiment/ which results in
    ./myExperiment/run_<run_id>/*.json.
  • Due to changes in AnaConda's compiler setup we drop the unit tests for
    python3.4.

Interface changes

  • Generalize the interface of the acquisition functions to work with
    ConfigSpaces's configuration objects instead of numpy arrays.
  • The acquisition function optimizer can now be passed to the SMBO object.
  • A custom SMBO class can now be passed to the SMAC builder object.
  • run_id is no longer an argument to the Scenario object, making the interface
    a bit cleaner.

Minor changes

  • #333 fixes an incompability with uncorrelated_mo_rf_with_instances.
  • #323 fixes #324 and #319, which both improve the functioning of the built-in
    validation tools.
  • #350 fixes random search, which could accidentaly use configurations found my
    a local acquisition function optimizer.
  • #336 makes validation more flexible.

Release 0.7.1

12 Oct 09:02
Compare
Choose a tag to compare

FIX #193, restoring the scenario now possible
ADD #271 validation
FIX #311 abort on first crash
FIX #318, ExecuteTARunOld now always returns a StatusType

Release 0.6.0

07 Aug 07:31
Compare
Choose a tag to compare

Major changes

MAINT documentation (nearly every part was improved and extended, including installation, examples, API)
ADD EPILS as mode (modified version of ParamILS)
MAINT minimal required versions of configspace, pyrfr, sklearn increased (several issues fixed in new configspace version)
MAINT for quality scenarios, the user can specify the objective value for crashed runs (returned NaN and Inf are replaced by value for crashed runs)

Minor changes

FIX issue #220, do not store external data in runhistory
MAINT TAEFunc without pynisher possible
MAINT intensification: minimal number of required challengers parameterized
FIX saving duplicated (capped) runs
FIX handling of ordinal parameters
MAINT runobj is now mandatory
FIX arguments passed to pyrfr

v0.5.0: Merge pull request #238 from automl/development

08 May 08:28
Compare
Choose a tag to compare

Major changes

  • MAINT #192: SMAC uses version 0.4 of the random forest library pyrfr. As a side-effect, the library swig is necessary to build the random forest.
  • MAINT: random samples which are interleaved in the list of challengers are now obtained from a generator. This reduces the overhead of sampling random configurations.
  • FIX #117: only round the cutoff when running a python function as the target algorithm.
  • MAINT #231: Rename the submodule smac.smbo to smac.optimizer.
  • MAINT #213: Use log(EI) as default acquisition function when optimizing running time of an algorithm.
  • MAINT #223: updated example of optimizing a random forest with SMAC.
  • MAINT #221: refactored the EPM module. The PCA on instance features is now part of fitting the EPM instead of reading a scenario. Because of this restructuring, the PCA can now take instance features which are external data into account.

Minor changes

  • SMAC now outputs scenario options if the log level is DEBUG (2f0ceee).
  • SMAC logs the command line call if invoked from the command line (3accfc2).
  • SMAC explicitly checks that it runs in python>=3.4.
  • MAINT #226: improve efficientcy when loading the runhistory from a json file.
  • FIX #217: adds milliseconds to the output directory names to avoid race. conditions when starting multiple runs on a cluster.
  • MAINT #209: adds the seed or a pseudo-seed to the output directory name for better identifiability of the output directories.
  • FIX #216: replace broken call to in EIPS acqusition function.
  • MAINT: use codecov.io instead of coveralls.io.
  • MAINT: increase minimal required version of the ConfigSpace package to 0.3.2.

SMAC3 v0.4.0

04 Apr 08:03
Compare
Choose a tag to compare
  • ADD #204: SMAC now always saves runhistory files as runhistory.json.
  • MAINT #205: the SMAC repository now uses codecov.io instead of coveralls.io.
  • ADD #83: support of ACLIB 2.0 parameter configuration space file.
  • FIX #206: instances are now explicitly cast to str. In case no instance is
    given, a single None is used, which is not cast to str.
  • ADD #200: new convenience function to retrieve an X, y representation
    of the data to feed it to a new fANOVA implementation.
  • MAINT #198: improved pSMAC interface.
  • FIX #201: improved handling of boolean arguments to SMAC.
  • FIX #194: fixes adaptive capping with re-occurring configurations.
  • ADD #190: new argument intensification_percentage.
  • ADD #187: better dependency injection into main SMAC class to avoid
    ill-configured SMAC objects.
  • ADD #161: log scenario object as a file.
  • ADD #186: show the difference between old and new incumbent in case of an
    incumbent change.
  • MAINT #159: consistent naming of loggers.
  • ADD #128: new helper method to get the target algorithm evaluator.
  • FIX #165: default value for par = 1.
  • MAINT #153: entries in the trajectory logger are now named tuples.
  • FIX #155: better handling of SMAC shutdown and crashes if the first
    configuration crashes.

Spead improvement release 0.3

16 Feb 18:59
Compare
Choose a tag to compare
  • Major speed improvements when sampling new configurations:
    • Improved conditional hyperparameter imputation (PR #176)
    • Faster generation of the one exchange neighborhood (PR #174)
  • FIX #171 potential bug with pSMAC
  • FIX #175 backwards compability for reading runhistory files

Bugfix release 0.2.4

11 Feb 15:59
Compare
Choose a tag to compare
  • CI only check code quality for python3
  • Perform local search on configurations from previous runs as proposed in the original paper from 2011 instead of * random configurations as implemented before
  • CI run travis-ci unit tests with python3.6
  • FIX #167, remove an endless loop which occured when using pSMAC

SMAC v0.2.3

20 Jan 15:07
Compare
Choose a tag to compare
  • MAINT refactor Intensifcation and adding unit tests
  • CHANGE StatusType to Enum
  • RM parameter importance package
  • FIX ROAR facade bug for cli
  • ADD easy access of runhistory within Python
  • FIX imputation of censored data
  • FIX conversion of runhistory to EPM training data (in particular running time data)
  • FIX initial run only added once in runhistory
  • MV version number to a separate file
  • MAINT more efficient computations in run_history (assumes average as aggregation function across instances)

SMAC3 v0.2.2

10 Jan 13:00
Compare
Choose a tag to compare
  • FIX 124: SMAC could crash if the number of instances was less than seven
  • FIX 126: Memory limit was not correctly passed to the target algorithm
    evaluator
  • Local search is now started from the configurations with highest EI, drawn by
    random sampling
  • Reduce the number of trees to 10 to allow faster predictions (as in SMAC2)
  • Do an adaptive number of stochastic local search iterations instead of a fixd
    number (a5914a1)
  • FIX a bug which didn't make SMAC run at least two configurations per call to
    intensify
  • ADD more efficient data structure to update the cost of a configuration
  • FIX do only count a challenger as a run if it actually was run
    (and not only considered)(a993c29)

SMAC3 v0.2.1

25 Nov 11:07
Compare
Choose a tag to compare

This is a bugfix, performance and similarity (to SMAC2) release.

  • CI: travis-ci continuous integration on OSX
  • ADD: initial design for mulitple configurations, initial design for a random configuration
  • MAINT: use sklearn PCA if more than 7 instance features are available (as in SMAC 1 and 2)
  • MAINT: use same minimum step size for the stochastic local search as in SMAC2.
  • MAINT: use same number of imputation iterations as in SMAC2.
  • FIX 98: automatically seed the configuration space object based on the SMAC seed.