- 👋 Hi, I’m @yngtdd!
yngtdd / hyperspace Goto Github PK
View Code? Open in Web Editor NEWDistributed Bayesian Optimization
Distributed Bayesian Optimization
Is there a way to change the HyperSpace models to use less than a node per process? This will be the case for XSEDE-Bridges
if we decide to run simulations, as we won't have enough nodes to spawn 16 MPI processes in which each process takes a node. Also for Summit
the number of cores/node will fluctuate anywhere from 42 cores to 128 cores. Ideally we would want to have each process use the same number of cores, but we should benchmark what is the sweet spot on the optimal number of cores per process.
how to fix this issue?
For the purpose of performing strong scaling experiments using HyperSpace, I propose the following:
HyperSpace as it is has a method called “hyperdrive” which runs each subspace/optimization on its own single rank/core. There is also “dualdrive” which runs 2 subspaces/optimizations per rank/core.
In order to perform strong scaling, we would need to create more of this functions, e.g. quadrive, octadrive, etc (I made those names up), so we can run 4 optimizations per rank, 8 optimizations per rank, 16 optimizations per rank, etc.
Eventually, we would like to name this method something like “multipledrive”, and specify the number of optimizations we would like per rank/core as an argument.
You can see a more detailed conversation about the topic in the following issue:
Yeah, that would be possible. In the case that `num_subspaces > num_ranks`, we could place the remaining `num_subspaces - num_ranks` on ranks that already have a search space to work on. I don't think that would take much to make that happen.
Originally posted by @yngtodd in #23 (comment)
In addition to current packages, based on my experience some machines will also require installing cython
When I do from hyperspace.space.skopt.mapping_space import check_dimension, fold_spaces
, the hyperband
module appears to have a syntax issue:
.../hyperband.py", line 69
print(f'Rank {rank} Iteration number: {i}, Func value: {result.fun}')
Latin hypercube sampling currently handlings integer and real valued dimensions.
Possible steps for categorical dimensions:
lhs_start()
When I run python ~~~/benchmarks/rastigrin/benchmark.py
I met bellow error
ImportError: cannot import name 'robodrive'
Hello,
I used to use the package
scikit-optimize 0.5.2
and it worked fine.
When I try my same experiment but using
scikit-optimize 0.7.4
I have the following error:
File "/home/karahbit/ve-radical.hpo/lib/python3.6/site-packages/skopt/space/space.py", line 234, in __init__
self.log_base = np.log10(base)
TypeError: loop of ufunc does not support argument 0 of type NoneType which has no callable log10 method
AttributeError: 'NoneType' object has no attribute 'log10'
If I go back to 0.5.2, it stills works fine.
I am leaving this issue open here just in case.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.