Releases: Epistimio/orion
Auto-resolution and experiment versions
Important changes
Migrated to orion on PyPi
We finally have orion namespace: pypi/warehouse#4189!!! 🎉 🎊
Auto-resolution and experiment versions
The modification of experiments (code change, search space modification, etc) will now be automatically resolved and will no longer lead to the (confusing) branch resolver prompt. When there is any modification that leads to a branching, the version of the experiment will be incremented (starting at 1). The unique index of the experiments are now (name, version) instead of (name, user).
No more user index
The user name is no longer part of the experiment's index. This means that someone with a username A in one environment may retrieve the same experiments with a username B in another environment without any problem. Previously this would only be possible using the option --user B to override the default system's username. This was due to the fact that queries on the database was done using the username and it is no longer the case.
Improved ASHA
Interface
The new prior fidelity(low, high, base) now makes it more convenient to define the fidelity dimension. The different budget for each rungs can now be scaled between low and high according to a base logarithm.
Efficiency
The algorithm will now stop registering trials in the low rungs once the higher rungs are filled. This reduces the waste of resources spend on trials in low rungs that cannot be promoted to higher rungs since the latter will be completed shortly.
Detailed list of changes
New features
- Auto-resolution (#244)
- Add versioning to experiments (#240, #242, #243, #245, #246, #247, #248, #259, #268, #272, #279, #281 )
- Add to algo the ability to opt out (#266)
- Add env-vars to consumer (#280)
Breaking changes
Bug Fixes
- Fix Trial ID mismatch with higher dimension (#237)
- Make Space Sorted instead of Ordered (#257, #263 )
- Fix bug in conda test (#258)
- Handle status --name when empty (#270)
- Fix ASHA termination condition and branching with fidelity() (#274 )
- Avoid branching in
info(#277)
Other improvements
- Add a global configuration object
orion.core.config(#239, #251, #265) - Remove direct access to database backend in favor of storage backend (#241)
- Remove generic queries in favor of specific queries in storage backend (#250)
- Add best trial id to
infocommand (#260) - Make ASHA opt out when last rungs are filled (#267)
- Migrate to
orionon PyPi (#271 )
Documentation improvements
New commands `list`, `status` and `info` and support interruption/resumption of trials
New commands
New commands list, status and info now enable simple monitoring and inspection of experiments. The command list prints out all the experiments' name so you can easily keep track of what is available in your database. The command status gives a summary of experiments' status, with number of trials in different status (completed, reserved, etc) and best objective found so far. Finally the command info prints out all details of a given experiment, command line used, search space, algorithm configuration and current statistics.
Trial interruption
So far interrupted trials would keep the status reserved and wouldn't be available for selection
again, so they would be lost somehow. They will now be set to interrupted and will be available
for resumption. If user's script does not support checkpointing internally, the process will simply be re-executed from scratch.
New features
- New command
list(#208, #216 ) - New command
status(#222, #229) - New command
info(#211) - New StorageProtocol (#221)
- Handling of interrupted trials (#197, #202, #203, #235)
- Limit number of broken trials before experiment stop execution (#204)
- Add working_dir attribute to Trial (#205)
Breaking Changes
- Deprecate pack/unpack in orion.algo.space (#236)
Bug Fixes
- Fix code conflict detection when not using code versioning (#207)
- Add $ne and handle non-supported operations in EphemeralDB (#214)
- Fix ScriptConfigConflict for data with non-string values (#215)
- Fix race conditions during algo updates (#217)
- Fix experiment views (#218, #223, #234)
- Make sure higher shape points are not
ndarrayobjects (#224, #236)
Other Improvements
- Mute (intense) logging of filelock (#201)
- Functional tests for user script config (#212)
- Use yaml.safe_load instead of yaml (#219)
- Remove upsert from
write(#220)
Documentation Improvements
Minor Release: OSX support, New Roadmap and flake8 fix
ASHA, simpler DB setup and new DB backend for filesystem
New Features
- Add ASHA 🎉 #187
- Add command
orion setupto create a database configuration file #192 - Add command
orion test-dbto test database setup #188 - Add PickledDB to support FileSystem backend #190
- Add port option for db backend #174
- Add multi-fidelity dimensions #177
- Add
working-dirargument #184
Bug Fixes
- Handle bad socket.hostname (OSX) #179
- Handle bool arg in EVC Conflict #180
- Fix null comparison in EphemeralDB #182
Other Improvements
- Introduce OrionCmdlineParser, a specialized type of CmdlineParser for Oríon specific parsing needs like priors' expression and configuration files. #172
- Add error message for missing configuration #178
- Handle bad results in trials #181
- Add timeout for connection to Database #183
- Add state_dict/set_state to algos to serialize or synchronize states #185
Documentation Improvements
- Adapt documentation to new algos and database commands #193
Relax git constraint, make user name customizable and fix some bugs
Breaking Changes
Bug Fixes
Other Improvements
- Make user name in experiment customizable with
--user#169
Documentation Improvements
Git commit detection, Strategies and Trials history
Initial release
Initial Release 🎊 🎉
Includes
- MongoDB backend
- Commandline and configuration file agnostic support
- Experiment Version Control
- Manual insertion of new points in search space
- Algorithms: Random Search, Wrapper of Scikit-optimize bayesian optimizer (plugin
orion.algo.skopt) - Transformers of dimensions
Working on and soon available
- Detection of code changes for scripts inside git repositories
- Dynamic algorithms and schedulers
- Visualizations
- Parallel strategies
- Full reproducibility with log of algorithm history and synchronized Random Number Generators