All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added 3 tutorials and embended existing colab tutorial in it.
- Support artifacts for each optimizer based on evaluated trials.
- Add a generic structure for the filesystem writers.
- Add live_plots flag for run() API to print the generic and optimizer-specific plots
- fix device mismatch in the tensors created in gp acqisition process
- fix epsnet_selector for MO branckets to filter out pending trials
- Add changelog workflow
- Add Clean command line for pruning trials
- support logarithm base for parameters
- Support individual discretization factors per hyperparameter in grid search
- Documentation and Example on PriMO
- Improve Acquisition Function optimization in discrete and mixed search spaces
- Update ifbo
- Clean command
- Update usage patterns and examples in documentation
- Update link to the tutorial
- Fixes to fidelity resource calculation
- Trial id generation
- Docs for stopping criteria
- Fix link to examples in readme
- Add import_trials method to NePSRandomSearch and NePSRegularizedEvolution for importing external evaluations as trials
- Add load_config function and update utility imports for better configuration handling
- Enhance NEPS API and examples: add create_config function, improve parameter handling, and update example scripts for better usability
- Add Regularized Evolution optimizer and integrate into NePS algorithms
- Add conversion logic for classic to NEPS search space in API
- Add string representation methods for Fidelity, Categorical, Float, Integer, Operation, and Resampled classes
- Add convert_classic_to_neps_search_space function to convert classic SearchSpace to NePS PipelineSpace
- Add inc_ratio parameter to _neps_bracket_optimizer and NePSPriorBandSampler for configurable incumbent ratio
- Add repeated resolvable type and dict resolving
- Add
Lazycomponent to stop categoricals from eagerly resolving provided choices - Add resolving for tuples and lists
- Add warning log for missing priors when use_priors is set to True in neps_random_search function
- Add location parameter and timing parameters to warmstart_neps function for configuration and performance tracking
- Add error handling and logging for pipeline space resolution in warmstart_neps function
- Add warnings for repeated warmstarting and compatibility checks for warmstarting in warmstart_neps function
- Add Gaussian priors to NePS Integer and Floats
- Add warmstarting functionality to the run method and create example script
- Add optimizer compatibility check for Pipeline in run function
- Add neps_algorithms as direct sub-import of neps
- Add documentation for NePS Spaces framework and usage examples
- Add Pytorch Neural Network example
- Add comprehensive tests for NEPS space functionality and conversion
- Add NOS like space
- Add bracket optimizers
- Add centering
- Introduce NePS-Spaces framework with enhanced pipeline space and parameter management
- Enhance optimizer implementations: improve bracket calculations, logging, and sampling strategies
- Refactor and enhance fidelity handling across optimizers with improved sampling and configuration normalization
- Add LocalAndIncumbent optimizer and integrate NePS Regularized Evolution with new sampling strategies
- Improve NePS space compatibility checks and enhance PipelineSpace serialization and persistence
- Consolidate resource tracking and enhance metric handling in state management
- Refactor documentation and examples for improved clarity and consistency across NePS spaces usage
- Simplify and enhance string representation methods for better readability of configuration objects
- Update ifbo dependency version in pyproject.toml
- Remove unused parameter 'rung' from sample_config method in NePSLocalPriorIncumbentSampler
- Remove mf check
- Refactor bracket creation logic to group configurations by starting rung for improved sampling
- Remove fidelity value check and improve Hyperband bracket allocation logic
- Fix: Standardize ignore_fidelity parameter to use "highest_fidelity" across optimizers and related functions
- Add xfail for tests requiring additional setup in test_sample_trial
- Add additional setup requirement for neps_local_and_incumbent optimizer tests
- Update load_config to require either config or config_path and improve error handling
- Update _mutate_inc method to use fidelity attributes for environment values
- Update kernel_size in Conv2d operations from [3, 3] to [3, 4]
- Update kernel_size in test_list_as_arg for Conv2d operation
- Standardize ignore_fidelity parameter to use "highest_fidelity" instead of "highest fidelity"
- Improve error handling for args and kwargs in _format_operation function
- Improve error messages for incompatible optimizers in PipelineSpace
- Improve error messages and enhance user result filtering in evaluation
- Rename hyperparameter optimization example file for consistency
- Update ifbo dependency version in pyproject.toml
- Fix linter
- Update import_trials to use pipeline_space parameter and improve logging
- Enhance configuration handling by updating return types and adding prior checks in PipelineSpace
- Prevent resampling of Fidelity objects in Resampled class and add Operation to config_creation example
- Change status parameters
- Update load_config return type and improve operation string representation
- Simplify string representation in Operation class
- Improve string representation for Categorical and Operation classes
- Update string representation test to reflect BasicSpace instead of PipelineSpace
- Fix report loading
- Update docstring for NePSRegularizedEvolution to clarify functionality and parameters
- Update best score calculation to use actual best from trajectory and improve config selection logic
- Normalize weights in PriorBandSampler to handle floating-point precision issues and increase np.isclose tolerance
- Update optimizer names in tests for consistency and clarity
- Normalize weights in PriorBandSampler to handle floating-point precision issues
- Improve path formatting in tests and enhance readability of assertions
- Update root directory paths in tests for consistency and clarity
- Enhance configuration string formatting for hyperparameters and improve test assertions
- Improve formatting in wrap_config_into_string for better readability
- Update confidence level in MutatateUsingCentersSampler to MEDIUM for improved sampling accuracy
- Docs & remove .trace.lock
- Update contributors
- Remove write_summary_to_disk
- Remove obsolete Jupyter notebook for prior tests and update test handling for core examples
- Remove old warmstarting functionality, unused example notebooks and scripts
- Remove redundant check for 'auto' in compatibility verification
0.14.0 - 2025-09-16
- Add ask and tell Documentations
- Add ask and tell example
- Add primo to algorithms
- Add primo
- Add primo
- Add primo
- Added trajectory and best incumbent. Solved warning in plot
- Added documentation and logging of incumbent
- Add requires_prior test case
- Add noqa comments to suppress linting warnings in algorithms and bayesian optimization modules
- Add tests fail comment
- Bump version: 0.13.0 → 0.14.0
- Update Contributors
- Async Saving Evaluation Result
- Change Worker ID
- Make defualt worker-id shorter
- Make worker id chosen by user
- Txt files fidelity stopping crit
- Fix Async and HB brackets
- Numpy>=2
- Modify tests for MOMF opts
- Allow None confidence centers for MO priors
- Update primo
- Add PriMO
- Change tests for MO
- Update api with MO and fix runtime issues
- Numpy version update
- Example fixed
- Fixed tests
- Fixed trace error in case of multiple runs
- Logging messages changed
- Merged branch with new txt files
- Merge remote-tracking branch 'origin/master' into trace_csv_file
- Neps.plot fixed
- Rename overwrite_working_directory => overwrite_root_directory
- Fixed multi-fidelity stopping criteria
- Optimizer - fidelities to spend
- Mf example
- Introduction of fidelities_to_spend
- Renaming max_cost_total to cost_to_spend
- Renaming max_evalutaions_total to evaluations_to_spend
- Multi-objective algorithms
- Upgrade to Python 3.13
- Fidelity and prior compatibility checks in optimization algorithms
- Update Documentation
- Enhances fidelity handling in optimization algorithms
- Assign trial_report to trial in tell and tell_custom
- Add Multi-objective Bayesian Optimization using qLNEHVI
- Add Multiobjective algorithms: syne-tune apache license
- Add MO_Hyperband
- Add MOASHA - add MOASHA to test neps state
- Add MOASHA - add optimizer in algorithms and modify bracketoptimizer
- Add MOASHA - add epsnet MO promotion strategy
- Add MOASHA - multi-objective brackets for promotion using MO strategies
- Clip decoded value oveflow after torch.exp
- Update LICENSE
- Update LICENSE
- Fix Multi-fidelity algorithms
- HyperBand bracket priority
- Skip tests for PriMO for now
- Fix more ruff-formatting
- Fix ruff-format in status.py
- Disable info_dict logging
- Disable info_dict logging
- Fix CONTRIBUTING.md headers
- 123-optimizers-multifidelity-algorithms-should-check-for-min_budget-0
- Allow partial priors
- Allow partial priors in priors test
- Partial priors in space
- Merge branch 'master' into neps-mo
- Trial_report not being updated in Ask-Tell
- Clarify prior parameter requirements and error handling in documentation
- Simplify error message formatting in random_search function
- Improve error messages for prior usage in optimization functions
- Set default value for ignore_fidelity in grid_search function
- Insert pibo in requires prior in tests
- Tensor decoded value overflow for parameters with log
- Tensor decoded values overflow for parameters with log with torch.float64
- Remove upper bounds clip warning
- Removed info_dict from logging
- Removed comment
- Remove cli
- Remove roadmap and fix contributing docs
- Remove extras from prior test
0.13.0 - 2025-04-11
- Adding only incumbent tblogger and docs
- Add mypy error ignore comments for portalocker lock module attributes, making pre-commit usable again
- Add image, removed code from README
- Added image-segmentation example
- Added image-segmentation pipeline example
- Added landing page
- Added FSDP examples with Neps
- Added FSDP examples with Neps
- Add warning if no stopping criterion are set
- Added native Pytorch DDP example with neps
- Added example for DDP with PyTorch Lightning
- Added support for PyTorch Lightning in the DDP backend.
- Added BOHB tips
- Add more details and links
- Add equation support
- Add more content and image captions
- Add images and SH explanation
- Added ifBO, changed graph
- Added diagram
- Added optimizer pages outline
- Add python 3.12 support
- Add ifbo
- Add cli to declarative usage docs + add declarative usage to README
- Add run-pipeline to neps run cli argument
- Add template of 'run_args' to neps init + add pipeline_space to neps run arguments
- Bump version: 0.12.2 → 0.13.0
- NePS tblogger feature refactoring
- Updating Docs
- Fix exception handling with tblogger
- Handle TensorBoard tracking errors and disable feature
- Running end trial callbacks under lock
- NePS tblogger feature refactoring
- Enhance optimizer documentation and structure
- Real world examples
- Updated optimizer.md to reflect recent changes to how optimizers are defined, passed and configured. Removed mentions of yaml-based customization.
- Finished restructuring algorithm pages
- Catch up optimizers page with changes to neps.run
- Landing page for algorithm section
- Merge remote-tracking branch 'origin/master' into optimizers_documentation
- TOC in Getting Started
- Cut down MF and Prior explanation
- Expandable boxes
- Algorithms as chapter point
- Whats next section in getting started page
- Convert pngs to jpgs
- Merge remote-tracking branch 'origin/master' into optimizers_documentation
- Lower the number of first stage samples for BO strat
- Model based bracket optimizers
- Simplify
Prior,SamplerandConfigEncoderconstruction - Initial multi-objective support
- Added support for PyTorch Lightning in the DDP backend.
- Added native Pytorch DDP example with neps
- Merge master into ddp-pytorch-lightning
- Enable uv caching for github actions workflows
- Use env var to share config with higher rank workers
- Hacky fix for multiple DDP launches
- Reformatted algorithm names
- Filled MF and MF+Prior pages
- Small fixes and ideas
- Ask and tell
- Bump ytanikin/PRConventionalCommits from 1.2.0 to 1.3.0
- A lot
- Enable uv cache
- Renaming several functions
- Changed equation optics
- BO page
- Prior explanation
- Rename default to prior
- Restructuring optimizers page, inserting low-level-MF and prior explanations
- Newline in optimizers.md
- More detail and fixes for optimizer pages
- Switch from poetry to uv
- Enforcing conventional commit naming in PR titles
- Improve examples
- Update roadmap
- Update citations
- Improve conciseness of README
- Fix structuring of CONTRIBUTING docs
- Fixed
priorband_template.pyexample - Fixed pytest with new fidelity parameter checks
- Fixed
priorband_template.pyexample - New commands for CLI: sample-config, report-config, init, results ; Refactoring CLI
- Update roadmap
- Rename
neps.XParametertoneps.X - Rename
neps.XParametertoneps.X - Remove as many methods from SearchSpace as possible
- Use
vultureto remove dead code - Use
ask()instead of two-stageload_optimization_state()andget_config_and_ids() - BO and ifBO
- New cli commands help, info-config, errors, status, results + Documentation
- Refactor Declarative Usage (CLI) + Documentation
- Enable pipeline_space keyword in seperate yaml
- Change run-args to optional argument for neps run
- Provide a log message indicating summary data has been generated
- Improve message on how to deal with an error from a worker
- Modularize file state
- Introduce CLI
- Derive type(int, float, str) from str input of searcher-kwargs cli
- Introduce cli neps (init, run)
- Introduce Settings Class and Default() Arguments
- Add mypy error ignore comments for portalocker lock module attributes
- Prevent prior definition for fidelity parameters
- Prevent prior value assignment for fidelity parameters in Float and Integer classes
- Spelling mistakes
- Making config ordering deterministic
- Explicit path print on successful 3D plotting
- Explicit path print on successful 3D plotting'
- Example and post-run plotting
- Ifbo plotting path and keys
- Example and post-run plotting
- Allowing None as constant HP in yamls
- Removing comment and unused import
- Making config ordering deterministic
- Allowing None as constant HP in yamls + minor fix to tblogger
- Use initial passed in value
- Fixup ruff pre-commit
Categoricaldomain isis_categorical=True- Populate prior
- Fixed bracket display
- Transformation of categoricals and handling of unusual fidelity bounds
- Fixed math display
- Fix headings
- Fix typo
- Filelock issues
- Fix typo in README
- Fix indendation in roadmap
- Debug env vars better
- Timeout set explicitly to 120 seconds, debug on env vars
- Fix np converting lists to np types
- Deprecation warning over concat with empty dataframe
- Use absolute path for previous config location
- Remove unused files
- Remove
centersandpriors - Remove unused deps
- Removes a lot of methods from
SearchSpace
0.12.2 - 2024-07-09
- Add example for running neps on slurm scripts
- 0.12.2
- Update pyproject.toml
- Refactor declarative usage
- Merge of master
- Improve rendering of README and docs landing page
- Improve README.md and update docs landing page
0.12.1 - 2024-07-03
- Add tests for checking optimizer loading via run_args
- Add python -m neps_examples utility to print examples
- Add torchvision to non-dev dependencies
- Add tests + fix docs
- Add searcher_args to searcher_info for custom class optimizer loaded via yaml
- Add providing arguments for loaded class BaseOptimizer via yaml + fix pre-commit related errors
- Add docstring rm solved ToDos
- Add mixed usage functionality for run_args and neps func arguments
- Bump version from v0.12.0 to v0.12.1
- Allow use of neps.Float instead of neps.FloatParameter
- Only log searcher as info level, log searcher_alg to debug
- Set post_run_summary to True always
- Fix incumbent tblogger bug
- Minor code fix + comment
- Minor change in test
- Minor change in test
- Update to master
- Readd sleep to hyperparameters example
- Maintain roadmap
- Move examples lists from test to neps_examples
- Improve readme, fix broken link, make slimmer
- Maintain roadmap
- Improve README writing, fix links, remove dead weight
- Minor bug fix
- Bug fix
- Have PiBO as an explicit searcher
- Change path of yaml test directories to tests_tmpdir
- Change path of yaml test directories to tests_tmpdir
- Change boolean values in yamls from [True, False] to [true, false]
- Update declarative example
- Code clean up + add notes to docs
- Clean up code and docsctrings
- Adapt SearcherConfigs to the new dict design of optimizers
- Update docs
- Update rm searcher_kwargs key from yaml for user
- Update rm searcher_kwargs key from yaml for user
- Change algorithm to strategy
- Change searcher key algorithm to strategy + rm searcher_kwargs argument
- Define dict in run_args yaml
- Update docs to the new design
- Merge master + fix loading neps-searchers from yaml
- Rm neps argument searcher_path
- Change design for searcher config
- Simplify code
- Change design for pre-load-hooks
- Align the tests for declarative usage to the ones that are in the docs + try fix test
- Update pyproject.toml for PyTorch versions
- Fix AttributeError: 'int' object has no attribute 'nodes'
- Cast Path to str
- Update pyproject.toml
- Update pyproject.toml
- Update pyproject.toml for PyTorch versions
- Update precision of best loss in logs
- Enable mixed usage for run_args and neps func arguments + new design for pre-load-hooks + new design for searcher config (yaml)
- Integrate pipeline space into run args yaml + new design for defining constant parameter
- Minor optimizations to examples using graph parameters
- Switch to
clone()for search space. - Declarative usage examples + simplified yaml usage
- Partial update of state
- Just two seperate classes
- Partial update of state
- Use binarized formats for de/serialization of rng
- Remove sleep from examples
- No arbitrary object loading
torch.load - Use binarized formats for de/serialization
- Directly link to API in docs, remove repetitions
- Move
neps.run()to be the first recommended page - Use function API instead of duplicating docs
- Directly link to API docs in search_space docs
- Fix yaml dumping and default args selection for optimizer loaded via run_args
- Fix double logging and move post_eval_hook to runtime
- Save seed state by default
- Save seed state by default
- Fix path reference
- Fix test
- Fix pre-commit
- Fix pre-commit error
- Fix pipeline_space example
- Fix errors in tests
- Explicitly load previous results
- Allow for a worker not to have evaluated
- Boolean check for cost
- Lock by default for
- Ensure new state is saved to path
- Use 3.8 compatibly type aliases
- Fix test relying on boolean positionals
- Remove arg from examples
- Remove unnecessary torchvision requirement
- Remove neps argument 'searcher_path' and yaml argument searcher_kwargs + New loading design for optimizer
0.12.0 - 2024-05-02
- Add ruff as dev dep
- Add ruff config
- Add valid type check for choices in categorical parameter
- Add logging info for parameter that uses e notation to inform them that the parameter gets deduced as float
- Add global variable to handle path location
- Add comment to check_arg_defaults
- Add type hints for arguments and returnn for all run_args functions
- Add cli neps(init, run) + modify custom optimizer usage, providing just a class
- Add tests to check functionality within neps.run() when using run_args.yaml to provide arguments + comment code
- Adding sleep time to inaccessible locks for summary_csv and sampler_info
- Version 0.12.0
- Big documentation cleanup
- Use relative links instead of https ones
- Big documentation cleanup
- Re-enable pre-commit
- Limit to just src dir
- Add sections regarding linting
- Update Contributing
- Fix up some files, ignore others
- Remove refernces to black
- Remove references to pylint
- Cleanup common.py
- Cleanup pyproject.toml
- Update pre-commit yaml
- Add action to run pre-commit
- Some progress towards neps.utils
- Fix up linting errors with status dir
- Document neps.runtime
- Ruff pass on types.py
- Ignore all files
- Improve validation and
== - Improved error feedback for wrong path
- Change search_space: to pipeline_space: for tests
- Update to master
- Log boolean check
- Update eq function for parameters to use it to cover test cases
- First implementation of using yaml from
run_args= - Switch to relative import for module utils
- Implement strict argument usage check; raise errors as needed
- Minor fix
- Reorganizing doc structure for running NePS
- Update neps_run.md
- Update neps_run.md
- Doc fix for run_arg usage
- Rm cli command
- Delete cli
- Enhanced usability by supporting module paths with and without '.py' extension + general improved error feedback
- Rework of the yaml_usage examples + adding readme for guidance
- Documentation for run_args
- Rework of some of the code + comment and doc string changes
- Increase code maintenance + enabled strict usage of run_args, overwritting all other arguments that are provided via neps.run(...) + Enable loading the pipeline_space provided as a dictionary from YAML and the loading of the BaseOptimizer as searcher from YAML
- Implementation of run_args, loading and checking settings from yaml + tests
- Integrate metahyper as neps.runtime
- Type fixes
- Use
DictinTypeAliasfor <=3.8 compat - Use Union for <=3.9 compatibility
- Use
polleverywhere - Integrate metahyper closely
- Merge pull request #72 from automl/ci-concurreny-groups
- Run tests on any push/PR to master
- Add concurrency group to save resources on github action tests
- Update author list
- Fix import
- No need to pass logger anymore
- Fix ruff versioning
- Fixup
neps.plot - Fix up neps.init
- Fix link in docs
- Fix issue #35 + boolean checks for log and is_fidelity
- Fix issue #35
- Fix wrong key name for example search space yaml
- Fix type hints for 3.8
- Fix type hints for 3.8
- Fix test + add run_args: constraint structure for yaml file
- Fix python environment call in windows for test cases
- Fix module import BaseOptimizer
- Fix provided arguments check, special case searcher-pipeline_space
- Fix provided arguments check
- Fix provided arguments check
- Broken import
- Fix example
- Removed unfinished declerative docs to another branch + added missing usage information for providing pipeline_space to neps.run()
0.11.1 - 2024-02-19
- Adding first iteration to the run_pipeline documentation
- Add Examples to Readme
- Added citation + analyse.md iteration
- Add comment in code example
- Add comment in code example
- Bump version from v0.11.0 to v0.11.1
- Updating run_pipeline docs
- Updating docs for citations
- Doc link fixes + some minor text changes
- Merge pull request #56 from automl/configspace-patch-1
- Update pyproject.toml
- Documentation iteration + minor tblogger example change
- Merge pull request #50 from automl/next_doc_iteration
- Adjusting summary_csv with task_id and dev_stage_id args
- Big Documentation Update + align naming of configspace for yaml usage
- Closes #52: summary_csv compatible with development_stage_id
- Merge pull request #34 from automl/readme_changes_danrgll
- Updating parallelization documentation and README links
- Update branch to current master
- Fixing merge conflicts with master
- Enhancing README: Adding paper links as insights to key features
- Landing page README iteration + installation guide
- Update README.md
- Iterating analyse.md; format + doc changes
- Update README.md with additional key features and improved structure
- Update README.md
- Update citations.md
- Update README.md
- Tblogger doc iteration + adding images
- Merge remote-tracking branch 'origin/master' into readme_changes_danrgll
- Tblogger doc iteration + light/dark mode doc switch
- Iterating through examples README + tblogger doc
- Fixing conflicts from main and README iteration
- Change format
- Change format
- More compact format
- Change order of documentation section
- Adapt Indentation
- Changes for code usage example
- Changes for code usage example
- Merge pull request #48 from automl/dependabot/github_actions/actions/setup-python-5
- Bump actions/setup-python from 4 to 5
- Merge pull request #46 from automl/yaml_config_space
- Update to current master
- Changing root README.md Citations link to docs
- Fix issue #44
0.11.0 - 2023-12-08
- Add citations to the documentation
- Adding edits from #34 from @danrgll and @TarekAbouChakra
- Add type specification for arguments + add more detailed DocStrings for paramter validation functions
- Add examples + test adaptation to new functionalities + outsorcing utils for yaml search space in own file
- Add usage of e and 10^ for exponent format as input for yaml file + new tests for optional type argument
- Add documentation for config_space
- Adding callable function for post-run csv analysis
- Add tests, adapt pipeline_space_from_yaml(), fix some errors raised by pre-commit in search space
- Add yaml to dict function and make it callable in api run
- Adding .optimizer_info.yaml checks for catching user errors
- Adding post-run summary files + testing
- Added whoami function and a test case for searcher as BaseOptimizer
- Added return values
- Bump version from v0.10.0 to v0.11.0
- Fixing roadmap version
- Updating roadmap pre-release
- Merge pull request #47 from automl/Neeratyoy-patch-1
- Update README.md
- Enable usage of Path object for yaml_file config_space
- Merge master into branch
- Fixing flattening merge issues between src/ and neps/
- Merge pull request #45 from automl/repo-flattening
- Merge remote-tracking branch 'origin/master' into repo-flattening
- Minor file import changes for clarity and consistency
- Updating pyproject.toml with new repo directories location
- Repo flattening + adjustments
- Merge pull request #36 from automl/typing-export-types
- Export
py.typedforneps+metahyper - Resolves #26; resolving deprecation warning
- Made code more readable for validate parameter inputs + add tests + comment functions
- Changes in yaml_search_space examples
- Resolve merge conflicts
- Change tests to marker neps-api and resolve merge conflicts
- Merge pull request #33 from automl/api-checks
- Better testing + api checks before starting the search
- Fixing merge conflicts with master
- API refactoring + API tests and checks
- Clean up tests
- Summary_csv test fix
- Iterate over summary_csv, fix warning, and convert strings to lowercase
- Adapt tests and documentation for yaml_search_space
- Adapt tests and documentation for yaml_search_space
- Merge pull request #17 from automl/dependabot/github_actions/actions/checkout-4
- Bump actions/checkout from 3 to 4
- Minor tblogger image logging bug fix
- Fix merge error and move MissingDependencyError into metahyper
- Fixes #24 for the next release
- Merge pull request #38 from automl/deps-remove-pandas-upperbound
- Remove overly restrictive dependancies
- Enable to run tests for yaml
- Merge pull request #22 from automl/csv_summary
- Refactoring unit test + stochastic failure debug
- Minor update to neps/status/status.py
- Minor updates to neps/api.py
- Resolving merge conflicts with master
- Minor updates
- Fixing multi-thread .optimizer_info.yaml using decision_locker
- Tblogger example iteration
- Tblogger example iteration
- Merge pull request #21 from automl/tabular-space-support
- Merge conflict resolution
- Removing neps api test from GitHub actions
- Minor cleanup
- Allowing full table sampling in acquisition
- Merging updates
- Budget id >= 0
- Minor clean up, and suggested changes
- Increase pytest timeout to 15mins
- Minor logic updates
- Removing stray iimport
- Making PFN conditioned on local availability
- Merge resolution + removing timing code
- Merging with master
- Tabular support + DyHPO - joint commit with @karibbov
- Merge remote-tracking branch 'refs/remotes/origin/master'
- Merge remote
- Set normalize_y to False
- Utility functions update + example templates iteration
- Reducing tblogger example runtime
- Update releasing.md
- Fix test cases
- Fix format of Pipeline Space Documentation for mkdocs
- Fix naming of parameters in test
- Fix issue regarding tests and search space from yaml file
- Remove 10^ notation + introduce key checking for parameters + enable e notation usage for all parameters and arguments
- Remove extra pop
0.10.0 - 2023-11-06
- Adding warning filter for tensorboard in pytest
- Adding Py3.11 test on Mac
- Add support for python 3.11
- Add cloning to docs of contributor install
- Adding utility functions for checkpoints and the lightning template
- Adding priorband template
- Adding template for basic neps usage
- Add input-output scaling to DeepGP, changes from Heri
- Add functionality to MFObservedData
- Added ignore_missing_defaults option to sample_default_configuration()
- Bump version from v0.9.0 to v0.10.0
- Change license from MIT to Apache-2.0
- Increasing GitHub pytest timeout from 10 to 15 minutes
- Minor typo fix
- Removing argparse from tblogger example
- Shortening tblogger example runtime
- Removing argument parsing in Tensorboard example
- Template update + torchvision in deps
- Including new examples for testing
- Adjusting tblogger tutorial
- Adjustments for Tensorboard and saving configuration data from Metahyper
- Fixing PyTorch2.0 issue with pyproject
- Updating dependency, torch version
- Exclude macos python 3.11 test for now
- Update author order in CITATION
- Update author order
- Reformatting optimizer_info yaml with fewer restrictions on Metahyper
- Merge pull request #18 from automl/yaml-api
- Stricter conditions on the optimizer
- Iterating yaml api PR
- Neps with pytorch lightning example
- Making new markers for the yaml_api tests
- Handle Failure mode of the DeepGP: use untrained model
- Tabular SearchSpace for MFEIBO
- Merge remote-tracking branch 'refs/remotes/origin/master'
- DeepGP checkpoint and refine
- Minibatch DeepGP training
- Yaml test cases and minor fixes
- Api yaml new feature
- Merge remote-tracking branch 'origin/master' into tensorboard-neps
- Minor tblogger example changes
- Minor tblogger example changes
- Record learning curves explicitly
- Expose DeepGP parameters, make early stopping optional, disable default normalize_y, add TODOs
- Avoid duplicates when sampling new configs
- Merge pull request #14 from automl/tensorboard-neps
- Tblogger cleanup
- Merge remote-tracking branch 'origin/master' into tensorboard-neps
- Merge remote-tracking branch 'origin/master' into tensorboard-neps
- Tblogger changes in class and example
- Merge remote-tracking branch 'origin/master' into tensorboard-neps
- Fixing issues in tblogger and example
- Tensorboard example and class minor changes
- Tensorboard functionality
- future.annotations
- Deep gp with MFEIBO
- Merge remote-tracking branch 'refs/remotes/origin/master'
- Update init design for MF-EI-BO
- Bug fix to MFI + budget-based initial design
- Initial deep gaussian process
- Merge fix
- Simplify MFEIBO get_config_and_ids, anf mf_ei.py
- Fixing issues with MFEIBO
- Update init.py
- Dyhpo Acquisition Function MF-EI implementation
- Minor cleanup
- Cleaning changes to MF-EI
- Synthetic Regression Tests added
- Initial MF-EI changes
- Regularized Evolution default assisted = False
- Resolve python version version based issues
- DyHPOBase draft version, with a random acq
- Bug fix in set_hyperparameters_from_dict() for ConstantParameter
- Bug fix in set_hyperparameters_from_dict()
- Modified set_hyperparameters_from_dict() to allow setting it from another search space as well
- Changed data_loading utility functions to be more flexible and use json instead of yaml
- Tensorboard Evaluation File
- Removing deprecated import
- Removing deprecated import
- Removing deprecated files
- Bug fix: log transform with log as False
- Fixing optimizer yaml file
- Fixing tblogger example
- Remove support for python 3.7 (end of life)
- Remove metahyper doc stubs
- Remove the budget_id column from observed data
0.8.4 - 2023-05-03
- Bump version from v0.8.3 to v0.8.4
- Updating PriorBand defaults
- Docstring update
- Simplifying PB decay
- Un-exclude macos tests
- Adjust numpy version
- Un-exclude some windows / macos tests
- Adjust torch version for macOS, add OS classifiers
- Bound torch version to try fix macOS issue
- Allowing prior-based MF algos to sample default at max budget
- Fix poetry version for github actions
- Bump poetry version for github actions
- Merge pull request #9 from automl/dependabot/github_actions/abatilo/actions-poetry-2.3.0
- Bump abatilo/actions-poetry from 2.1.6 to 2.3.0
- Run pre-commit on all files
- Remove continuation of crashed configs from metahyper
- Remove torch version constraint
0.8.3 - 2023-03-21
- Add -u flag to publish documentation
- Bump version from v0.8.2 to v0.8.3
- Bug fix in SH
- Fixing failing test case for mutation on IntParam
- Replace prints with logger
0.8.2 - 2023-03-18
- Add eddie to CITATION.cff
- Add Eddie as author
- Adding mutation as incumbent sampler
- Add utils and prototype optimizer for meta_neps
- Adding PriorBand+BO
- Add result hallucination for pending
- Bump version from v0.8.1 to v0.8.2
- Adjust sleep in example
- Updating PB decay method
- Exposing prior confidence param in BO
- Typo fix
- Bug fix: IntParam mutable object not updating
- Ignore *.DS_Store in .gitignore
- Bug fix in set_hyperparameters_from_dict() preventing None as default with has_prior=True
- Updating mutation function flow per HP + local mutation func. in PB utils
- Manual merge of changes from hnas branch
- Fixing MF-BO joint 2-step AF
- Bug fix: PB BO joint
- Revamping MF BO
- Minor update to PB
- Fixing log transform trigger for float HPs
- Major update to PriorBand family + Bug fixes
- Async PriorBand param update
- Setting default log prior weights to False
- MFBO data subset bug fix + PB decay_t
- PriorBand design changes for ablation
- Fixing baseline logic
- Updating HB+inc baseline
- Minor update to dynamic inc sampling
- Changes to mobster
- Minor logic update in inc activation (PriorBand)
- Code refining and cleaning (mf-priors)
- Minor update to SH sampling default
- Fixing import from merge conflict
- Merging to master a highly diverged commit
- Fix missing pyyaml dependency
- Fix example links
0.8.1 - 2023-01-08
- Add small fixes for repetitive architecture spaces
- Bump version from 0.8.0 to 0.8.1
0.8.0 - 2022-12-29
- Bump version from 0.7.0 to 0.8.0
- Clean architecture and hps example
- Clean architecture example
- Clean up NAS api further
- Ignore grakel warning
- Rework NAS api
- Update roadmap
- Fix init structure
0.7.0 - 2022-12-18
- Add mobster
- Added delete_previous_defaults anf delete_previous_values options to set_hyperparameters_from_dict()
- Added function set_default_confidence_score to float, integer and categorical
- Add get_summary_dict
- Add budget stop criterion to multi_fidelity
- Add fixing of autograd warning to roadmap
- Add rename proposal to roadmap
- Adding async HB baseline
- Adding async PB exp
- Adding PB to async SH/HB
- Add incumbent plotting
- Adding HB + inc sampling
- Adding sampling from hypersphere
- Add convenience examples and fix example links
- Add parallelization example and remove pipeline_dir from basic_usage
- Add metahyper to this repository directly
- Adding HB,ASHA,ASHA-HB based PriorBand versions
- Adding NePS HB with PriorBand ensembling
- Adding Ensemble Policy and custom HB default
- Bump version from v0.6.1 to v0.7.0
- Merge pull request #4 from automl/remove_fnctl_dependancy
- Update roadmap
- Exclude macos 3.7 and 3.8 tests
- Bug fix in set_hyperparameters_from_dict() for categorical parameters
- Improve plotting sciprts
- Update roadmap
- Deactivate macOS 3.8 and 3.7 tests
- Do not create graph for nlml backward pass
- Exclude windows with python 3.10 as a gh-actions test
- Fix mark selection for pytest
- Trigger on update to workflows too
- Enable metahyper tests
- Add macos and windows to tests
- Update actions
- Add dependabot for github actions
- Updating PriorBand with inc sampling type and style + misc changes
- Minor cleanup
- Rename budget to max_cost_total, add to example
- Updating asyncPriorBand
- Fixes for parallel/async MF algos
- Update roadmap
- Improve error message for loss value on error
- Minor param update to async PB
- Fixing metahyper import
- Do not print summary when plotting
- Save previous_config_id to metadata.yaml
- Update old docstring
- Clean up metahyper, add analysis test
- Improve README text
- Minor change to plot structure
- Improve README
- Improve analyse example
- Improve documentation on analysis
- Improve examples readme
- Rework examples with respect to analysis
- Parallelization example as .md
- Improve plotting (now through neps.plot)
- Move AttrDict to common utils
- Revert example
- PriorBand exps and ablations
- Removing deprecated files
- Making new additions restructure compatible
- Make root_directory an arg not a kwarg
- Constrain the torch version due to installation issues
- Refactor examples
- Use pipeline_directory instead of working_directory in examples
- Improve speed of poetry install a bit
- Update to poetry 1.2 syntax
- Updating logs and minor formats
- Update roadmap
- Fix metahyper test
- Fix roadmap formating
os.setsidnot available on windows- Try unlock instead of lock for windows segfaults
- Add test for filelocking
- Change to cross-plat portalocker
- Fix root dir name in example
- Fix examples readme
- Fix python compatibility issues for plotting
- Fix poetry version in github workflow
- Fix verison in citation.cff
- Remove dill dependency
- Remove unnecessary metahyper files
0.6.1 - 2022-10-25
- Add python versions to test matrix
- Support python3.8/9/10
- Bump version from v0.6.0 to v0.6.1
- Setting multi-fidelity default to model-free HB
- Merge fix
- Minor fixes to HB and asyncHB
- Making sync. SH and HB parallel
- Initial SH update
- Adjusted to 0.6.0
- Merge https://github.com/automl/neps into HEAD
- Fix gh actions semantics for python 3.10
- Fix install for 3.7 and 3.10
- Fix version constraint
0.6.0 - 2022-10-22
- Add ability to ignore errors
- Added ranomized PriorBand Policy
- Added random sparse promotion
- Added default sampling and made peaky prior a non-default setting
- Adding v6 with v5 variations
- Added ablation study functionality - regular sampling and promotion
- Added args for allowing ablation studies in raceband
- Add disable_prior flag to BO optimizer
- Adding variants to v5
- Added raceband - temporary name for possible Hyperband competitor
- Adding v5 to mf-priors
- Adding confidence and random sample HPs in mf-prior opts
- Added EI, toyed with bandwidths to emphasize prior
- Added Expected Improvement-like weighting to the TPE
- Adding random_interleave_prob to multi_fidelity
- Adding new optimizer to decay prior to uniform
- Adding new ASHA-AsyncHB opt
- Adding new opt with small update to Async HB
- Added adaptive correlation between fidelities for MF-TPE - only lacking
- Adding first few trial versions of mf-prior algos
- Added ability to remove samples that have been queried at multiple
- Added async support - registering pending configurations as bad in the
- Add Nils
- Adding func to track incumbent in SH
- Add mike to documentation for versioning support
- Add parallelization example to roadmap
- Add alternatives documenation and improve toc of docs
- Add Note section to readme
- Add carl to CITATION.cff
- Added KDE & Vanilla TPE along with example. KDE comes with additional
- Add constant to pipeline_space_from_confgispace
- Add comments explaining core vs all tests
- Adding Asynch HB with and w/o priors
- Bump version from v0.5.1 to v0.6.0
- Jitter=1e-6 for gp.py
- Modified defaults and adjusted sampling according to discussion
- Making BO support sampling of default first
- Appending default as first sample param in MF algos
- Changed so that constants have default values, and so that
- Changed to enable vanilla Raceband, no priors
- Fixed minor budgeting bug
- Changed sampling procedure tolerance
- Changed Raceband to accept max budget and utilize sharper priors
- Fixed constant support and categorical distance bug
- Omit ConstantParameter in GP-opt
- Updating v4 with sync SH/HB changes
- Simplified RaceBand according to suggestions
- Fixed sampling tolerance in neighborhood sampling
- Fixed integer parameter bug in sobol -> config conversion
- Updating synchronous MF algos
- Updating categorical choice confidences
- Introduced learning between brackets
- Merging master
- Option for ultra confidence in mf-prior algos
- Changed some HPs of the KDE, and re-added some plotting utilities (that
- Minor readme edit
- Minor comment
- Updating async HB sampling of brackets/rungs
- Fixing/tuning v3_2
- Merge https://github.com/automl/neps into HEAD
- New opt with prior decay to RS
- Updates to dense graph allowing te be trained. small fixes in the API for graphs
- Now supporting Constant values (and ordinals, but those are considered
- For Prior-based MF algos defaulting to NePS confidence
- Reverted the prior strengths in SH to adhere to the convention
- Making SH priors peaky
- Regression tests
- Regression test's metrics changed
- Ensured to properly differentiate between rung and fidelity
- Fixing configspace mapping and RS parameterization
- Bug fix in compute_prior() for a ConstantParameter
- Categorical, Integer and log variables now all work. V1, should be ready
- Async soft promotions now work as intended. First version of algo done,
- Changed the mf_tpe example to not include categoricals (not quite
- Multi-fidelity promotions incorporated - still need to remove
- Ensured multifidelity splitting is done correctly in TPE, and modelled
- KDE now weights each point according to fidelity - still need to sort
- Option for prior confidence in SH/HB
- Syncing with master
- Started incorporating multifidelity funcitonality
- Update roadmap
- Document mike
- Improve documentation on testing and checking protocols
- Refine roadmap
- Refine roadmap
- Unbold documentation / examples
- Improve readme text organization
- Refactor search spaces sub directories
- Renamed KDE, fixed weighting, added some defaults
- Adjusted some parameters of the KDE, allowed for fitting of fixed
- KDE now runnable
- KDE now runs - fixed imports
- Accidentally changed in old optimizers.init.py file, reverted now
- Restructure neps_examples and simplifiy test_examples.py
- Fix docs
- Fix docs
- Fix links in docs
- Fix links in README
- Fixed cost-cooling when estimated costs are zero
- Fix typo in README
- Fix links in documenation
- Fix pyproject and add carl
- Removed print statements
- Removed print statements
- Remove deprecated documentation part
- Remove torch installation utils
- Remove old plotting utils
0.5.1 - 2022-08-29
- Add changing of CITATION.cff to docs on version releases
- Bump version from v0.5.0 to v0.5.1
- Initial HB commit
- Testing submodule + minor code cleanup
- Fixing failing example
- Fix failing test
- Bump version to 0.5.0 also in CITATION.cff
- Restructuring multi-fidelity - adding SH, ASHA with and w/o priors
- Restructuring multi-fidelity - adding SH, ASHA with and w/o priors
- Improve poetry documentation
0.5.0 - 2022-08-26
- Fix version from 0.4.10 to 0.5.0
0.4.10 - 2022-08-26
- Add roadmap to documentation
- Add function set_defaults_to_current_values() to search_space.py
- Add Samir
- Add collection of todos
- Add documentation link to README
- Add dev and task id to run() and pass them to metahyper.run()
- Bump version from 0.4.9 to 0.4.10
- Move jahs_bench to dev dependency
- Deprecate working_directory in favor of root_directory for neps.run
- Move roadmap into contributing folder
- Improve readme and documentation
- Improve shields
- Change license
- Update link to documentation in README
- Improve contributing documentation and add releasing howto
- Regression tests
- Bug fix in set_defaults_to_current_values()
- Refactor CategoricalParameter outside numerical
- Working_directory -> root_directory
- Update documentation structure
- Updated poetry installation instructions
- Making error the default behavior for optimizer
- Fix configspace + pipelinespace suppor
- Fix docstrings
- Fix pyproject license
- Fix link to example
0.4.9 - 2022-05-31
- Add install from pypi
- Add authors and info
- Add random interleave prob in MF BO
- Add unparsing
- Add back handling of a new graph represenation (hierarchical)
- Add prior for multiple repetitive grammars
- Ignore dist
- Rename project for pypi
- Small updates to take last combo op
- Create CITATION.cff
- Letting MF BO switch to BO after eta evals on max fidelity
- Implement loss_value_on_error and cost_value_on_error base_optimizer.py and all optimizer classes. Values can be passed to api.run() with **searcher_kwargs. status() and _post_evaluation_hook() always use default value inf.
- Introduce parameters loss_value_on_error and cost_value_on_error in result_utils.py and base_optimizer.py
- Fix pip install
- Fix date
0.4.8 - 2022-05-12
- Add handling of grid search exhaustion
- Add grid search to optimizers
- Add grid generation for search space
- Add prior to dense graph
- Bump version
- Update RE config id
- True fix
- Bug fix
- Neps search space code improvements
- Lower distance for neighbours in crossover
- Enable crossover for HPs
- Fixed cost_cooling and updated test case
0.4.7 - 2022-05-07
- Bump version, fix async MF
- Bump version, fix async MF
- Fixing async failure modes for MF BO
- Init design fix to MF + error handling if AF sample fails
0.4.6 - 2022-05-05
- Bump version, fix asynch MF
- Set to max fidelity in AF optimization
- Small fixes
- Change prior decay and initial sampling, MF-BO bug fix
- Update constrained grammar
- Handle hierarchical graph extraction
- Implemented cost cooling
- More flexible towards constraints
- Extract graphs from new representation
- Fix matplotlib version
- Fix call to parent constructor in graph Parameters
- Raise NotImplementedError when not implemented
- Update regularized evolution
- Fix a bug in extract config
- Remove prints
- Remove change
0.4.5 - 2022-05-02
- Adding toggle option for model-search and RS in MF BO
- Bump version to 0.4.5
- Check for attribute existing
0.4.4 - 2022-05-02
- Add pibo functionality for constrained grammar
- Add fault tolerance example
- Add demonstration of working_directory and previous_working_directory
- Bump version to 0.4.4
- Fix error with values not sampled when not using fidelities
- Put realistic lr search space in multi fidelity example
- Allow down to pytorch 1.7.0 + fix torch.linalg.cholesky
- Allow down to pytorch 1.8.0
- Debugging multi-worker setup
- Small fixes
- Debugging multi-worker setup
- MF BO fixed to handle pending evals
- Improve repr lisibility
- Improve code for normalizing, include log in normalizing, add sample_batch to mutation_sampler
- Debugging MF BO again
- Debugging MF BO
- MF BO default performance as inf
- Fixing MF BO restarts
- Another quick fix
- Quick fix
- Remember where zero op is placed
- Disable fault_tolerance example test as it makes no sense
- Update constrained grammar
- Fix MF ASHA
0.4.3 - 2022-04-28
- Add cost cooling structure
- Adding get_cost utility
- Add handling of fidelity parameters
- Add HP normalization for the GP input
- Adding GP-UCB (with TODOs)
- Add set fidelity to maximum value for the acquisition function optimization
- Add *args to forward call
- Bump version
- Trick to access the method from child
- Use searcher kwargs
- Commenting GP-UCB until tested locally
- MF BO allows optimization restarts
- Determine rungs wrt max_budget, add todos
- Do not apply decayingpriorweightedacq everytime
- Move kernel construction out of optimizer class
- Update BO optimizer
- Move NOTICE to source code
- Remove surrogate model from acquisition functions init when still present (bug fix)
0.4.2 - 2022-04-22
- Add matplotlib
- Add id property to graph grammar
- Use log priors per default, bump version
- Update repetitive graph grammar
- Compose functions directly from string descriptor
- Move to method to utils
- Update example
- Fix user priors for categorical hyperparameters
- Remove setup method
0.4.1 - 2022-04-21
- Add Literal types
- Add wrapper class and remove edge_data argument from forward method
- Add surrogate_model_fit_args to GP constructor
- Add example for PiBO with graphs and HPs
- Add shift to avoid negative log values
- Add log-PiBO backend for graphs from grammars
- Add merge operation to functional backend
- Bump version
- Use mf_bo per default when space has fidelities
- Move multi fidelity to own fil
- Updating function docstring
- Clip likelihood before saving to list
- Update example
- Merging MF BO with master
- Fixing AF sampling for MF BO
- Edits to make MF BO runnable
- Initial ASHA implementation (not tested)
- Upload example using hierarchical GP
- Also update hierarchical GP accordingly
- Rename work_on to set_state
- Refacot load_results
- Also avoid copy in random_sampler acq_sampler
- Rename use_user_priors to user_priors
- Also avoid copy() in rs
- Move copy() into sample()
- Clean up dependencies
- Only run core tests per default
- Make log parameterizable for PiBO
- Start GP fitting of kernel weights froalways m scratch
- Fix NaN in _unscaled_distance
- Move likelihood clipping into optimization
- Remove init
- Remove print from base_optimizer
- Remove last graph since it's equal to the full graph
- Remove file
0.4.0 - 2022-04-13
- Add TF backend
- Added required graph generation for sampling to check if graph is valid
- Add support for intermediate build API for hierarchical NAS
- Add set_recursive_attribute to set channels
- Add dict structure as production
- Support for OrdinalHyperparameter in pipeline_space_from_configspace
- Add connection to search space for debugging
- Add connection to hierarchical GP
- Add explanation for hallucination
- Add some TODOs
- Add surrogate from map
- Bump version
- Set gradients to zero to avoid memory leak
- Speed up examples
- Rename arguments to function parameter
- Move stem / head out of grammar
- Change the node attribute to coarse label and debugged on all datasets
- Debug on changing the order of the graphs: [hierarchical graphs] + [final_graph] to [final_graph] + [hierarchical graphs]
- Replace fit_on_model with set_state
- Change arguments in examples
- Refactore some and add graphs over hierarchies backend
- Also remove id_parse_tree in other examples
- Refactor hierarchical NAS api
- Debug the running of hierarchical kernels:
- Refactor optimizer
- Basic CArBO implementation
- Move BO specific parts out of base_optimizer
- Make terminal_to_graph_repr map optional
- Fix small bugs
- Categorical parameters: fix infinite loop and value type
- Fix BO docstring
- Remove unpacking
- Remove setup
- Remove id_parse argument
- Remove terminal_to_graph_repr
0.3.3 - 2022-03-31
- Bump version
- Remove large parts of graph_utils/utils.py
0.3.2 - 2022-03-30
- Bump version
- Typing + small refactors
0.3.1 - 2022-03-28
- Update metahyper and bump version
- Increase default patience
- Remove whitespace
0.3.0 - 2022-03-24
- Adding test for user prior
- Add equal operator for graphs
- Add get_edge_list function for variable topologies
- Add missing files
- Add cost-aware skeleton/api
- Added in robin's additive wl surrogate into the bo framework in neps updates
- Added in robin's additive wl surrogate into the bo framework in neps updates
- Add has_prior flag and compute_prior method
- Add sceleton for utilizing prior in acq
- Add prior weighted acq stub and has_prior attr to search space
- Add link to mkdocs documentation
- Add documentation structure
- Added in robin's additive wl surrogate into the bo framework in neps
- Add multi fidelity BO skeleton
- Add SearchSpace.fidelity and SearchSpace.has_fidelity()
- Add logging of working directory
- Add overwrite option
- Add hint to basic example
- Add nullhandler to neps logger
- Add documentation for showing status repeatedly
- Add documentation for specific torch versions
- Add float userpriors
- Add user_prior flag and categorical user prior
- Add patience from BO class to sampling
- Add documentation to status
- Add a comment for integer parameter sampling
- Support singular result
- Add user prior api
- Add multi fidelity API
- Add primitive operations
- Add get_state and load_state methods for optimizers
- Add cost aware setup
- Add status script
- Add improved logging
- Add python support to soon-to-come
- Add features to readme
- Add documentation to api
- Add arglint hook for the api
- Add stopping control for distributed setting
- Add run_pipeline_args and kwargs
- Add new run_pipeline API
- Add Mapping magic to search space
- Add expected hypervolume improvement AF in develop
- Add from_configspace construction to neps searchspace
- Deprecate several args in optimizer API and run_pipipeline
- Change default for the watch
- Fix example
- Ensure loss is a float
- Passing budget argument to metahyper
- Upgrade metahyper version
- Fix floats types
- When model building fails, log error and sample randomly
- Fail tests in case of error logged
- Put gp loggers to debug
- Bump metahyper versio
- Check if cuda seed exists in state before using it
- Bump metahyper version
- Bump metahyper version
- Use dev version of metahyper
- Bump metahyper version
- Also run tests when pyproject changed
- Refactor more code
- Json serialization
- Change default value in example
- Complete pibo implementation
- Apply prior weighted when prior exists
- Shorten docstring
- Compute ei incumbent in update step
- Rename reset_surrogate to update
- Extract propose_location from acq function
- Improve comment
- Install metahyper from pypi
- Refactor docs structure and add explanations to CONTRIB.md
- Get 2 versions of gpwl in
- Small refactors and doctring on BayesianOptimization
- Use original error message again
- Improve variable name in README
- Shorten variable names in readme
- Shorten comment in README
- Shorten comment in README
- Improve basic example
- Improve documentation
- Feature pointer to examples more prominently
- Improve parallelization documentation
- Use validation_error in documentation
- Allow more torchvision versions
- Update license in README
- Update LICENSE
- Tweak categorical prior
- Enable user priors
- Use strings for default confidence
- Enhance support for configspace
- Replace random sampler with searchspace.sample_new()
- Simplify randomsampler
- Improve examples
- Improve example
- Mention examples not supported
- Make status importable
- Ignore usage_example
- Improve readme
- Run pre commit
- Update black
- Update to new metahyper version
- Improve post evaluation logging
- Count config_idsfrom 1
- Make hp_kernels and graph_kernels optional
- Update README.md
- Improve usage part in readme
- Deprecate search space api of run
- Update source adaptation for ehvi
- Bug fixes, update hp example to include integer hps
- Make categorical type more general
- Fix ei docstring
- Fix ucb still being important
- Fix log determinant adding
- Fix invalid patience sampling implementation
- Fix error when raising ValueError
- Fix typo
- Fix warning with python -m neps.status
- Fix wrong mypy override
- Fix readme
- Fix multi fidelity example
- Fix typo
- Fix metahyper version
- Fix example error in README
- Fix typing
- Fix type errors numerical & search space
- Remove ids whenever possible. Should also be done for graphs
- Remove ucb and make ehvi private
- Remove dead function
- Remove n_iterations
- Remove unneeded mypy override
- Remove unneeded mypy override
- Remove old api from optimizers
- Remove evaluation and utils.util
- Remove old metahyper
- Remove print statement
- Remove read_and_write
- Remove dead code
- Added crossover to search space and updated BO loop to handle pending evaluations
- Add print in eval mode
- Add graph grammar multiple repetitive
- Add linear n node topology
- Add typing packages to dependencies
- Add deprecate decorator
- Add comments about metahyper API status
- Add empty documentation
- Add note to mypy ignoring
- Add mypy to pre-commit hooks and CONTRIBUTING
- Add tests badge
- Add license and copyright notice for nasbowl
- Add github workflow for ci
- Add mutation on a level of dense graph (representation of child was missing)
- Add information on test_tmpdir
- Add instructions for failing tests
- Add poetry tip to CONTRIBUTING
- Add basic badges
- Add absolufy-imports for automated relative imports
- Add infos on utils.install_torch and add to CONTRIBUTING
- Add option to return dict with subgraphs
- Add log-EI in acquisition function mapping
- Add conv-bn-relu to basic primitives
- Add log-EI
- Add all examples to tests
- Add tests_tmpdir to pytests and teardown
- Add API functions for BO
- Add initial population size
- Add FMNIST augmentations/normalization
- Add new metahyper api
- Add pytest mention to CONTRIBUTING
- Add mdformat
- Add random search for the new api
- Add numerical parameter
- Add GraphGrammarCell
- Added all missing modules and reduced number of iterations in hierarchical_architecture example to speed up testing
- Add --py37 plus flag for pyupgrade
- Add hierarchical architecture example
- Add graph_dense implementation based on grammars
- Added repetitive graph grammar and added common utility functions for graph grammars
- Add convenient dense n-node DAG topology
- Add more basic primitives and topologies
- Add simple graph grammar search space computation
- Add incumbent printing after a successful run
- Add FashionMNIST
- Add pending evaluations for BO
- Add get_dictionary
- Add HPO example (counting ones) using metahyper
- Add get_dictionary and create_from_id for metahyper communication on search space and hyperparameter level
- Add isomorphism checking
- Add repetitive crossover operation
- Add resolution constrained CFG
- Add unparsing of parse trees
- Add tests for examples
- Add commented pytest to pre-commit for later
- Add example folders
- Add python coding guidelines
- Add local_search mutation for hyperparameters
- Add get_hp_by_name for search_space object by holding all hps in a dictionary
- Add example script for running cnas with new search_space object
- Add objective with api
- Add compatability of BO for metahyper
- Add graph_dense sampling
- Add checkpoint path to exception
- Add graph_dense sampling
- Add hyperparameter class (old parameter) with sampling for child classes
- Add deletion of tensors and mmore workers for data loading
- Add RE
- Add hyperparameter class (old parameter) with sampling for child classes
- Add node subgraph
- Add checkpoint reader
- Add simple API objective base class
- Add seed handling to base class
- Add inv transform for scores
- Add base objective class
- Add checkpointer and id
- Add crossover for constrained grammar
- Add repetitive crossover
- Add depth constrained & constrained grammars. Moved mutation & crossover to grammars
- Add grad clipping
- Add training utilities for DL-based experiments
- Add argument to control if we return opt details, default false.
- Add search space class
- Add metahyper dependency
- Add tabulate dependency
- Added other parameter types
- Added wrapper for graph grammar implementing mutation & crossover
- Add parameter types and pipeline space
- Add direct import of api
- Add initial implementation for evolution acq optimizer
- Add pyupgrade to pre-commit
- Add examples as package to pyproject.toml
- Add NOTICE
- Add simon to license
- Add initial api and dummy example
- Added surrogate model fit args to BO optimizer
- Added random interleaving
- Added seed setting for cuda
- Added incumbent plotting
- Added helper libraries for other helpers
- Added functionality to also check for isomorphisms in history
- Added log file
- Added more logging
- Added error handling for random sampler and removed some deepcopying
- Added some special cases
- Added mutation acq optimizer & moved misc to utils
- Added sum kernel to GP
- Add metahyper to pyproject.toml
- Update v0.2.0
- Bug fix
- Update training pipeline
- Fix bug
- Return two booleans in crossover
- Bug fix
- Move theta_vector related stuff to combine kernel, apply SMAC lengthscale
- Check whether pipeline_space object supports dimensionality split, check whether loaded result is failed
- Dynamic programming for search space computation
- Fixed remaining mypy errors in graph grammar
- Bug fix
- Fixed more mypy errors
- Resolved merge conflict
- Try to fix poetry install in actions
- Type api
- Rename base_optimizer
- Allow manual trigger
- Fixed some mypy errors
- Bug fix
- Fix pylint warnings
- Move from automl to automl-private
- Move to automl from automl-private
- Change to automl from automl-private
- Update mypy
- Move build system toml part
- Set copyright to general contributors
- Document ci in CONTRIBUTING
- Activate tests on push
- Rename ci
- Rename ci
- Rename ci
- Improve editorconfig documentation
- Save & read seed states
- Small bug fixes
- Improve readme formulations
- Improve pylint ignore warnings section
- Improve dev practices and tooling section
- Improve developer installation section
- Improve tooling tips in CONTRIBUTING
- Apply absolufiy to force relative imports
- Improve content of CONTRIBUTING.md
- Improve content of CONTRIBUTING.md
- Subgraphs is not unrolled anymore
- Also support list as x input for graphs
- Change default value
- Bug fix for log-EI
- Update CONTRIBUTING format and examples guideline
- Change default mutation to simple
- Move example descriptions to example README
- In readme use new style of searchspace construction
- Update README.md
- Bug fixes for RE
- Adjust example for hierarchical NAS for the new metahyper
- Adjust example for NASHPO for the new metahyper
- Make hyperparameters attribute public
- Let pipeline space be defined as dict
- Apply pre-commit
- Update example to use new metahyper
- Make methods private
- Make function calls private
- Update README
- Slim down readme
- Update readme, add example readme
- Update gitignore
- Delete old optimizer abc
- Use list for pylint config
- Update pylint
- Update pyupgrade
- Update isort
- Apply new black version
- Update black version
- Reorder pre-commit hooks
- Change name to neps
- Exclude hyperparameters_architecture from tests for now
- Adjust graph_dense to the changes in graph_grammar
- Merge
- Update examples script, add hpo+nas
- Last naming changes
- Change of search_space initalization and other changes that follow
- Changes in graphs according to the changes of parent classes
- Adjust numerical parameters to the changes in parent classes
- Naming change hyperparameter to parameter (of a search space)
- Upload augmentation lib
- Relative path
- To f-string
- Sync graph_dense with the new graphgrammer implementation
- Switch to value
- Update training pipeline
- Only allow up to python 3.8
- Fix deprecation warning of cholesky
- Copy ResNet Down Block over to graph dense
- Move constrained CFG
- Bug fix
- Bump version for metahyper
- Update README
- Bump metahyper version
- Allow for plotting of temporary results and added axis argument
- Fix evolution bug
- Fix bugs
- Change metahyper branch to master
- Cleanup
- Live_logging does not work for now
- Also rename RS pool_size -> n_candidates
- Fix evolution sampler fitness standardization
- Adjusted BO including renamings.
- Update contributing guidelines
- Work towards new api
- More options for initial samples of evolution acq optimizer
- Make graph flattening optional and fix to_pytorch bug
- Renaming get_graph -> get_graphs
- Change parsing for search_space
- Base hpo benchmarks on new api
- Check back-compatibility, fix name missmatch
- Cleanup
- Fixes of mutation and crossover
- Fix crossover bug
- Also handle concat comb op and subgraphs
- Small fix
- Moved utility class to hierarchical benchmarks
- More consistent with non-api case
- Rename folder
- Bug fix
- Plot shaded region instead of bars
- Changed name of objective to search space
- More refactoring of benchmarks
- Change BO from max to min
- Update benchmark sampling method name
- Update gitignore
- Refactor of hpo benchamrks
- Refactor of hpo benchamrks
- Small change
- Small fixes
- Small adjustments to new design and minor bug fix
- Fixed bugs in pytorch model generation
- Refactor hartmann6 for seperate objective_fn
- Small check if depth constraints match to nonterminals
- Bug fixes in pytorch model generation
- Refactor evaluation of seed in its own fn
- Update benchmarks for refactoring
- Update benchmarks before refactor
- Small fixes
- Moved graph grammar core here and changed directory structure
- Quick fix
- Changed computational flow to be compatible with new evolutionary acqusition optimizers etc.
- Avoid side effect on save_path
- Renamed bo->bayesia_optimization and rs->random_search
- Sort keys for plotting
- Delete empty init
- Move torch install utils to comp_nas/utils
- Make return opt_details truly optional
- Changed python version
- Changed python version
- Moved import to top
- Small bug fix when there are not model proposals
- Small fix if no model-based proposal is used
- Use std error instead of std dev
- Always write out csv
- Online csv writing
- Small changes
- Reuse kernels while kernel fitting and addedparallelized version oof EI
- Shorten argument help, since choices are provided
- Fix typo
- New default values
- Do not use property annotations for getter
- Avoid computing inc in EI over and over again
- Bug fix in mutation acq opt
- Updated README and added error messages
- Bug fix of mutation acq optimizer and minor changes in GP
- Changed default values
- Run formating on torch_install.py
- Avoid error log for HPO kernels and return more information from BO optimizer
- FIX naming bug
- Check if we have list/tuple containing multiple graphs
- Replaced Union with Iterable
- Quick bug fix
- Small changes and fixed minor issue in GP
- Renamed folder & removed initial_design folder
- Move plotting out of BO
- Return opt details dict & added arguments
- ADD nasbenches in NASLib style, query accepts API now.
- Merge
- Move utils to surrogate models and added acqusition optimizer base class
- Renamed kernel folder
- HPO benchmarks follow NASLib now
- HPO benchmarks follow NASLib now
- FIX gp bug
- Complete changes, joint representation for a configuration (before switching to NASLib object). Framework tested on all the benchmarks (nb301 gives an error for the check weights.is_leaf == True, commented out for now). ADD nbconfigfiles for running nasbenches (.pth file needed for nb201, .model file needed for nb301).
- Complete changes, joint representation for a configuration (before switching to NASLib object). Framework tested on all the benchmarks (nb301 gives an error for the check weights.is_leaf == True, commented out for now). ADD nbconfigfiles for running nasbenches (.pth file needed for nb201, .model file needed for nb301).
- Use black profile for isort
- Changed folder name
- New software design for NAS optimizers
- More clean-ups
- ADD nasbenches
- Initial commit
- Initial commit
- Fix access to theta_vector in case of no vectorial features
- Fix test bug
- Fix lengthscale parameter for stationary kernels, add split dimensionality for search space and kernels (for now only default categorical/continuous split
- Fix for-else unnecessary
- Fix mypy for pre-commit run -a
- Fix typo in acquisition
- Fix pylint warning
- Fix bug in the search space mutation
- Fix old name
- Fix typo
- Fix readme indents
- Fix imports in examples
- Fix new_result and get_config for metahyper communication
- Fix seeding for benchmarks
- Fix typo
- Fix isort not_skip depreciation
- Remove unnecessary args in README
- Remove unnecessary args in examples
- Remove worker init fn argument
- Remove license section in README
- Remove more legacy torch import guards
- Remove install_dev_utils add commands to CONTRIBUTING
- Remove pytest comments in pre commit
- Remove torch import guard and add it to api.py
- Remove latex from editorconfig
- Remove attr
- Remove query from graph
- Remove _id for hps
- Remove all imports to hierarchical_nas_benchmarks
- Remove hierarchical_nas_benchmarks dependencies in hierarchical architecture example
- Remove other hierarchical_nas_benchmarks dependencies in graph_dense
- Remove duplication of BO class
- Remove rng passing, add simple mutation for hps
- Remove rng passing, add simple mutation for hps
- Remove results from repo
- Removed unnecessary arguments
- Remove previously used argument
- Removed deepcopying config over and over again
- Remove torch packages from pyproject, add install util
- Remove pylint comments
- Removed wildcard import
- Removed logs and results