Skip to content

Commit e8e198e

Browse files
authored
Merge pull request #594 from Epistimio/release-v0.1.14rc
Release candidate v0.1.14
2 parents 0517f6a + 4e575d2 commit e8e198e

File tree

88 files changed

+5031
-4990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+5031
-4990
lines changed

.github/release-drafter.yml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ categories:
44
- title: '🚀 Features'
55
labels:
66
- 'feature'
7+
- title: '🏗 Enhancements'
8+
labels:
79
- 'enhancement'
810
- title: '🐛 Bug Fixes'
911
labels:

.github/workflows/build.yml

+29-6
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,6 @@ jobs:
4747
uses: actions/setup-python@v2
4848
with:
4949
python-version: ${{ matrix.python-version }}
50-
- name: Setup MongoDB
51-
uses: supercharge/[email protected]
52-
with:
53-
mongodb-version: 4.2
54-
- name: Configure MongoDB
55-
run: mongo orion_test --eval 'db.createUser({user:"user",pwd:"pass",roles:["readWrite"]});'
5650
- name: Install dependencies
5751
run: |
5852
python -m pip install --upgrade pip
@@ -67,6 +61,35 @@ jobs:
6761
env_vars: PLATFORM,PYTHON
6862
name: codecov-umbrella
6963
fail_ci_if_error: false
64+
mongodb:
65+
needs: pretest
66+
runs-on: ubuntu-latest
67+
steps:
68+
- uses: actions/checkout@v1
69+
- name: Set up Python 3.7
70+
uses: actions/setup-python@v2
71+
with:
72+
python-version: 3.7
73+
- name: Setup MongoDB
74+
uses: supercharge/[email protected]
75+
with:
76+
mongodb-version: 4.2
77+
- name: Configure MongoDB
78+
run: mongo orion_test --eval 'db.createUser({user:"user",pwd:"pass",roles:["readWrite"]});'
79+
- name: Install dependencies
80+
run: |
81+
python -m pip install --upgrade pip
82+
pip install tox tox-gh-actions
83+
- name: Test with tox
84+
run: tox -e mongodb
85+
- name: Upload coverage to Codecov
86+
uses: codecov/codecov-action@v1
87+
with:
88+
file: ./coverage.xml
89+
flags: backward
90+
env_vars: PLATFORM,PYTHON
91+
name: codecov-umbrella
92+
fail_ci_if_error: false
7093
backward-compatibility:
7194
needs: pretest
7295
runs-on: ubuntu-latest

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ If you use Oríon for published work, please cite our work using the following b
124124
month = nov,
125125
year = 2020,
126126
publisher = {Zenodo},
127-
version = {v0.1.11},
127+
version = {v0.1.14},
128128
doi = {10.5281/zenodo.3478592},
129129
url = {https://doi.org/10.5281/zenodo.3478592}
130130
}

ROADMAP.md

+4-29
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,16 @@ Last update December 3rd, 2020
33

44
## Next releases - Short-Term
55

6-
### v0.1.12
6+
### v0.1.15
77

88
#### Quick release for bug fixes
99

10-
### v0.1.13
11-
12-
#### Default database backend
13-
PickledDB will become the default database backend instead of MongoDB. This initiative reduces
14-
initial configuration, allowing users to get started faster.
15-
1610
### v0.2
17-
#### Journal Protocol Plugins
18-
Offering:
19-
- No need to setup DB, can use one's existing backend
20-
- Can re-use tools provided by backend for visualizations, etc.
21-
#### Python API
22-
23-
Traditional `suggest`/`observe` interface
24-
25-
```python
26-
experiment = orion.client.register(
27-
experiment='fct-dummy',
28-
x='loguniform(0.1, 1)', verbose=True, message='running trial {trial.hash_name}')
29-
30-
trial = experiment.suggest()
31-
results = dummy(**trial.arguments)
32-
experiment.observe(trial, results)
33-
```
34-
35-
### Algorithms
36-
Introducing new algorithms: [TPE](https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf), [HyperBand](https://arxiv.org/abs/1603.06560)
11+
#### Native Multi-Processing support
3712

38-
## Next releases - Mid-Term
13+
Added support for parallelism with auto-scaling. No more need to launch multiple workers
14+
(though still supported) for parallelism, simply pass `--n-workers` or `workon(n_workers)`.
3915

40-
### v0.3
4116
#### Generic `Optimizer` interface supporting various types of algorithms
4217

4318
Change interface to support trial object instead of curated lists. This is necessary to support algorithms such as PBT.

codecov.yml

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
ignore:
2+
- "tests/**/*"
3+
14
coverage:
25
precision: 2
36
round: down

conda/meta.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ requirements:
2727
- tabulate
2828
- AppDirs
2929
- plotly
30+
- python-kaleido
31+
- requests
3032
- pandas
3133
- falcon
3234
- gunicorn

docs/src/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
user/algorithms
2020
user/searchspace
2121
user/monitoring
22+
user/viz
2223
user/benchmark
2324
user/evc
2425
user/storage

docs/src/install/database.rst

+20-32
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ to enable fast, seamless, and scalable storage integration.
1010
Out of the box, we support three database backend:
1111

1212
#. :ref:`EphemeralDB Config`, an in-memory database
13-
#. :ref:`PickledDB Config`, a file-based database
14-
#. :ref:`MongoDB Config`, a document-oriented database (default)
13+
#. :ref:`PickledDB Config`, a file-based database (default)
14+
#. :ref:`MongoDB Config`, a document-oriented database
1515

1616
In this document, we'll review the different methods by which you can configure which database Oríon
1717
will use during its execution. This page also contains the :ref:`installation instructions for
@@ -28,10 +28,10 @@ This will create a yaml file of the following format.
2828

2929
.. code-block:: yaml
3030
31-
database:
32-
type: 'mongodb'
33-
name: 'orion_test'
34-
host: 'mongodb://user:pass@localhost'
31+
storage:
32+
database:
33+
type: 'pickleddb'
34+
host: '/path/to/a/file.pkl'
3535
3636
The file is typically located at ``$HOME/.config/orion.core/orion_config.yaml`` but it may differ
3737
based on your operating system.
@@ -40,10 +40,8 @@ The second way of configuring the database backend is to use environment variabl
4040

4141
.. code-block:: sh
4242
43-
ORION_DB_ADDRESS=mongodb://user:pass@localhost
44-
ORION_DB_NAME=orion_test
45-
ORION_DB_TYPE=MongoDB
46-
ORION_DB_PORT=27017
43+
ORION_DB_ADDRESS=/path/to/a/file.pkl
44+
ORION_DB_TYPE=PickledDB
4745
4846
Note that both configuration methods can be used together, environment variables that are set will
4947
overwrite the corresponding values in the global configuration. This is useful if you need to define
@@ -79,37 +77,27 @@ stage.
7977
$ orion db test
8078
8179
Check for a configuration inside the default paths...
82-
{'type': 'mongodb', 'name': 'mydb', 'host': 'localhost'}
80+
{'name': 'orion', 'type': 'pickleddb', 'host': '', 'port': 27017}
81+
Success
82+
Check if configuration file has valid database configuration...
83+
{'name': 'orion', 'type': 'pickleddb', 'host': '', 'port': 27017}
8384
Success
84-
85-
Check for a configuration inside the environment variables... Skipping
86-
No environment variables found.
87-
88-
Check if configuration file has valid database configuration... Skipping
89-
Missing configuration file.
9085
9186
[...]
9287
93-
In the last example, we can observe that the last two tests were skipped because there were no
94-
environment variables or local configuration file specified.
95-
96-
Alternatively, here's an example including all three configuration methods.
88+
Alternatively, here's an example including all configuration methods.
89+
This is with MongoDB since there are more options to play with.
9790
9891
.. code-block:: sh
9992
100-
$ ORION_DB_PORT=27018
93+
$ ORION_DB_NAME=test
10194
$ orion db test --config local.yaml
10295
10396
Check for a configuration inside the global paths...
104-
{'type': 'mongodb', 'name': 'mydb', 'host': 'localhost'}
105-
Success
106-
107-
Check for a configuration inside the environment variables...
108-
{'type': 'mongodb', 'name': 'mydb', 'host': 'localhost', 'port': '27018'}
97+
{'name': 'test', 'type': 'pickleddb', 'host': '', 'port': 27017}
10998
Success
110-
11199
Check if configuration file has valid database configuration...
112-
{'type': 'mongodb', 'name': 'mydb', 'host': 'localhost', 'port': '27017'}
100+
{'type': 'mongodb', 'host': 'localhost'}
113101
Success
114102
115103
[...]
@@ -123,9 +111,9 @@ that will be used and then prints the instance created to confirm the database t
123111
124112
[...]
125113
126-
Using configuration: {'type': 'mongodb', 'name': 'mydb', 'host': 'localhost'}
114+
Using configuration: {'name': 'orion', 'type': 'pickleddb', 'host': '', 'port': 27017}
127115
Check if database of specified type can be created... Success
128-
DB instance <orion.core.io.database.mongodb.MongoDB object at 0x7f86d70067f0>
116+
DB instance <orion.core.io.database.pickleddb.PickledDB object at 0x7f86d70067f0>
129117
130118
[...]
131119
@@ -234,7 +222,7 @@ To install MongoDB locally, follow the `official instructions
234222
<https://docs.mongodb.com/manual/administration/install-community/>`_ for your operating system.
235223
Alternatively, use :ref:`MongoDB Atlas <mongodb-atlas>` to create a database in the cloud.
236224
237-
Once MondoDB is installed, create the database using:
225+
Once MongoDB is installed, create the database using:
238226
239227
.. code-block:: sh
240228

docs/src/tutorials/pytorch-mnist.rst

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ This is a simple tutorial on running hyperparameter search with Oríon on Pytorc
77
Installation and setup
88
======================
99

10-
Make sure Oríon is installed (:doc:`/install/core`) and the database is configured
11-
(:doc:`/install/database`).
10+
Make sure Oríon is installed (:doc:`/install/core`).
1211

1312
Then install ``pytorch`` and ``torchvision`` and clone the
1413
PyTorch `examples repository`_:

docs/src/tutorials/pytorch_a2c_ppo.rst

-7
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@ PyTorch A2C PPO ACKTR
66
77
If Oríon not installed: pip install orion
88
9-
If the database is not setup, you can follow the instructions here:
10-
:doc:`/install/database`.
11-
12-
Alternatively, you can test the example without setting up a database by
13-
using the option `--debug`, but note that all data gathered during an
14-
execution will be lost at the end of it.
15-
169
1710
Intro
1811
=====

docs/src/tutorials/pytorch_cifar.rst

-6
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ PyTorch CIFAR10
66
77
If Oríon not installed: pip install orion
88
9-
If the database is not setup, you can follow the instructions here:
10-
:doc:`/install/database`.
11-
12-
Alternatively, you can test the example without setting up a database by
13-
using the option `--debug`, but note that all data gathered during an
14-
execution will be lost at the end of it.
159
1610
Set up
1711

docs/src/user/config.rst

+9-11
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,8 @@ Full Example of Global Configuration
8888
.. code-block:: yaml
8989
9090
database:
91-
host: localhost
92-
name: orion
93-
port: 27017
94-
type: mongodb
91+
host: orion_db.pkl
92+
type: pickleddb
9593
9694
experiment:
9795
algorithms:
@@ -136,10 +134,8 @@ Database
136134
.. code-block:: yaml
137135
138136
database:
139-
host: localhost
140-
name: orion
141-
port: 27017
142-
type: mongodb
137+
host: orion_db.pkl
138+
type: pickleddb
143139
144140
145141
.. _config_database_name:
@@ -161,7 +157,7 @@ type
161157
~~~~
162158

163159
:Type: str
164-
:Default: MongoDB
160+
:Default: PickledDB
165161
:Env var: ORION_DB_TYPE
166162
:Description:
167163
Type of database. Builtin backends are ``mongodb``, ``pickleddb`` and ``ephemeraldb``.
@@ -174,10 +170,12 @@ host
174170
~~~~
175171

176172
:Type: str
177-
:Default: 127.0.1.1
173+
:Default: ""
178174
:Env var: ORION_DB_ADDRESS
179175
:Description:
180-
URI for ``mongodb``, or file path for ``pickleddb``.
176+
URI for ``mongodb``, or file path for ``pickleddb``. An empty
177+
string will set the value depending on the database type
178+
(localhost or <user_data_dir>/orion/orion_db.pkl).
181179

182180

183181

0 commit comments

Comments
 (0)