You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@madlib.apache.org by "Frank McQuillan (Jira)" <ji...@apache.org> on 2020/08/06 23:34:00 UTC

[jira] [Created] (MADLIB-1445) DL: Hyperband phase 1 - print run schedule

Frank McQuillan created MADLIB-1445:
---------------------------------------

             Summary: DL:  Hyperband phase 1 - print run schedule
                 Key: MADLIB-1445
                 URL: https://issues.apache.org/jira/browse/MADLIB-1445
             Project: Apache MADlib
          Issue Type: New Feature
          Components: Deep Learning
            Reporter: Frank McQuillan
             Fix For: v1.18.0


Python code to do some version of this is in https://github.com/apache/madlib-site/blob/asf-site/community-artifacts/Deep-learning/automl/hyperband-diag-cifar10-v1.ipynb in `Section 6.  Print run schedule` so you can use that as a starting point

**Story***

Helper function to print hyperband schedule.
```
SELECT hyperband_schedule (schedule_table, 
                                 R,
						   eta,
						   skip_last)


schedule_table
VARCHAR. Name of output table for all hyperband rounds.

R
INTEGER. Maximum number of resources (iterations) that can be allocated to a single configuration.
* error check >= eta

eta (optional)
INTEGER, default 3. Controls the proportion of configurations discarded in each round of successive halving.
For example, for eta=3 will keep the best 1/3 the configurations for the next round.
* error check > 1

skip_last (optional)
INTEGER, default 0. The number of last rounds to skip. For example, for skip_last=1 will skip the 
last round (i.e., last entry in each bracket), which is standard randomized search and can 
be expensive when run for the total R iterations. 
* error check >= 0 and < s_max+1
```

Output 

The Hyperband schedule output has the following columns:
```
s				INTEGER. Bracket number
i    			        INTEGER. Round (depth) in bracket
n_i				INTEGER. Number of configurations in this round
r_i				INTEGER. Resources (iterations) in this round
```

**Acceptance**

1) For `R=81, eta=3` check that it prints out the same schedule as in the paper https://arxiv.org/pdf/1603.06560.pdf on page 9.
2) Set `skip_last =1` and check last row (rounds) in each bracket is dropped
3) Set `skip_last =2` and check last rows (rounds) in each bracket is dropped
4) Try multiple other values to see if produces the correct schedule
5) Try out of range values for R and eta and show it gives an error message



--
This message was sent by Atlassian Jira
(v8.3.4#803005)