Releases: automl/SMAC3
Version 0.8.0
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
Release 0.6.0
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
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
- 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 singleNone
is used, which is not cast tostr
. - 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
Bugfix release 0.2.4
- 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
- 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
- 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
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.