Comments (5)
Hi @bpkroth,
The reason behind it was simply we didn't have anyone we know use these features, as well as the fact they had surprising and non-consistent behaviours. It complicated a lot of internal code and given the lack of man-power we can put towards maintaining things, this was a feature we removed. The plan was to eventually re-introduce them if we had requests for it, which it seems you do need them.
This should be a lot easier now since the notion of the distribution is seperated from the concern of transformation from the vectorized space, e.g. (0, 1), [0, ... N] from the actual value space, i.e. (-10, 243) and [cat, dog, ..., mouse].
Doing so would essentially involve having an integer distribution with a Transformer
to take them from this integer vectorized space to the value space.
For non-uniform integer distributions, the following could be used while for uniform distributions, this distribution could be used.
When they come back, they would most likely come back as seperate hyperparameters. I believe trying to handle everything in one base-class leads to a lot of edge cases and messyness. For example, a QUniformFloat
or a QUniformInt
.
I can't give you a concrete timeline on this but I'm happy to review any PR's for it. If you only need a work-around and you are wrapping ConfigSpace
, then applying a custom transformation to an existing integer hyperparameter is your best bet.
from configspace.
@motus when you get a moment can you please comment here with some of your observations about the Ordinal
workaround issues?
from configspace.
@eddiebergman thanks for the pointers. We'll take a look at see if we can make something work.
For now, we're toying with a monkeypatch workaround in our wrappers, and though not our favorite, seems like it might be workable.
microsoft/MLOS#833
from configspace.
The reason behind it was simply we didn't have anyone we know use these features, as well as the fact they had surprising and non-consistent behaviours. It complicated a lot of internal code and given the lack of man-power we can put towards maintaining things, this was a feature we removed. The plan was to eventually re-introduce them if we had requests for it, which it seems you do need them.
@eddiebergman Ray Tune uses the removed quantization option for the BOHB algorithm so it was actually in use somewhere. I can't seem to find many people talking about how it isn't working since the change so I guess it wasn't too heavily used.
from configspace.
The reason behind it was simply we didn't have anyone we know use these features, as well as the fact they had surprising and non-consistent behaviours. It complicated a lot of internal code and given the lack of man-power we can put towards maintaining things, this was a feature we removed. The plan was to eventually re-introduce them if we had requests for it, which it seems you do need them.
@eddiebergman Ray Tune uses the removed quantization option for the BOHB algorithm so it was actually in use somewhere. I can't seem to find many people talking about how it isn't working since the change so I guess it wasn't too heavily used.
I have an intern who was actually using that too.
from configspace.
Related Issues (20)
- TypeError: Expected float, got numpy.float64 HOT 1
- `np.array` on `Configuration` returns names of HPs instead of values HOT 4
- Configure Github Sponsorship options HOT 2
- ConfigSpace is not compatible with numpy 2.0 HOT 4
- Bound for an Integer parameter depending on the value of another parameter? HOT 4
- Cannot create Integer parameter HOT 2
- Cannot create Constant of type bool HOT 1
- Cannot create range-based hyperparameter with a range containing a single value HOT 2
- Bug: ForbiddenEqualsRelation does not work HOT 1
- TransformerConstant is only supposed to handle np.number datatypes, but is used by Constant for union[int, float, str]. HOT 1
- Configuration.__contains__ does not work (infinite recursion) HOT 1
- Constants of type string do not work (sample_configutation returns the first letter of the string) HOT 1
- Feature request: allow multiple conditions on the same parameter HOT 2
- Bug: cannot print a Configuration with a Constant that is a list or a tuple HOT 2
- Configuration.__contains__ still does not work HOT 2
- Backwards compatibility for certain previous ConfigSpace objects HOT 2
- Feature Request: Instantiate a ConfigSpace via a Sequence instead of a Mapping HOT 2
- Possible bug in ForbiddenEqualsRelation? HOT 3
- Fix doc link in `README.md`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from configspace.