[ 
https://issues.apache.org/jira/browse/MADLIB-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Frank McQuillan reassigned MADLIB-1445:
---------------------------------------

    Assignee: Advitya Gemawat

> 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
>            Assignee: Advitya Gemawat
>            Priority: Major
>             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.
> {code}
> 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
> {code}
> Output 
> The Hyperband schedule output has the following columns:
> {code}
> 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
> {code}
> **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)

Reply via email to