fmcquillan99 edited a comment on pull request #518:
URL: https://github.com/apache/madlib/pull/518#issuecomment-698586366


   (4)
   `hyperopt` is not learning with cifar10 in the tests I have done so far with 
`rand` 
   ```
   SELECT madlib.madlib_keras_automl('cifar10_train_packed', 
                                     'automl_cifar10_output', 
                                     'model_arch_library', 
                                     'automl_cifar10_mst_table',
                                     ARRAY[1,2,3], 
                                     $${'loss': ['categorical_crossentropy'], 
                                        'optimizer_params_list': [ 
                                            {'optimizer': ['Adam'],'lr': 
[0.0001, 0.01, 'log']},
                                            {'optimizer': ['RMSprop'],'lr': 
[0.0001, 0.01, 'log'], 'decay': [1.0e-7, 1.0e-5, 'log']},
                                            {'optimizer': ['SGD'],'lr': 
[0.0001, 0.01, 'log'], 'momentum': [0.9, 0.99,'log']}],
                                        'metrics':['accuracy']}$$, 
                                     $${'batch_size': [64,128], 'epochs': 
[1]}$$,
                                     'hyperopt', 
                                     'num_models=3, num_iters=5, 
algorithm=rand',
                                     NULL,                    -- random state
                                     NULL,                  -- object table
                                     FALSE,                 -- use GPUs
                                     'cifar10_val_packed', -- validation table
                                     1,                     -- metrics compute 
freq
                                     NULL,                  -- name
                                     NULL);                 -- descr
   ```
   produces no-learning result with labels:
   ```
   INFO:  ***Evaluating 3 newly suggested model configurations***
   CONTEXT:  PL/Python function "madlib_keras_automl"
   INFO:  
        Time for training in iteration 1: 659.287541866 sec
   DETAIL:  
        Training set after iteration 1:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.0988999977708, loss=14.5240154266
        mst_key=2: metric=0.10000000149, loss=nan
        Validation set after iteration 1:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.0989999994636, loss=14.5224027634
        mst_key=2: metric=0.10000000149, loss=nan
   CONTEXT:  PL/Python function "madlib_keras_automl"
   INFO:  
        Time for training in iteration 2: 663.107329845 sec
   DETAIL:  
        Training set after iteration 2:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.0989999994636, loss=14.5224027634
        mst_key=2: metric=0.10000000149, loss=nan
        Validation set after iteration 2:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.0989999994636, loss=14.5224027634
        mst_key=2: metric=0.10000000149, loss=nan
   CONTEXT:  PL/Python function "madlib_keras_automl"
   etc.
   ```
   When I run `hyperband` with same models/hyperparams, it does learn:
   ```
   SELECT madlib.madlib_keras_automl('cifar10_train_packed', 
                                     'automl_cifar10_output', 
                                     'model_arch_library', 
                                     'automl_cifar10_mst_table',
                                     ARRAY[1,2,3], 
                                     $${'loss': ['categorical_crossentropy'], 
                                        'optimizer_params_list': [ 
                                            {'optimizer': ['Adam'],'lr': 
[0.0001, 0.01, 'log']},
                                            {'optimizer': ['RMSprop'],'lr': 
[0.0001, 0.01, 'log'], 'decay': [1.0e-7, 1.0e-5, 'log']},
                                            {'optimizer': ['SGD'],'lr': 
[0.0001, 0.01, 'log'], 'momentum': [0.9, 0.99,'log']}],
                                        'metrics':['accuracy']}$$, 
                                     $${'batch_size': [64,128], 'epochs': 
[1]}$$,
                                     'hyperband', 
                                     'R=6, eta=3, skip_last=0',
                                     NULL,                    -- random state
                                     NULL,                  -- object table
                                     FALSE,                 -- use GPUs
                                     'cifar10_val_packed', -- validation table
                                     1,                     -- metrics compute 
freq
                                     NULL,                  -- name
                                     NULL);                 -- descr
   ```
   produces
   ```
   PL/Python function "madlib_keras_automl"
   INFO:  
        Time for training in iteration 1: 655.647205114 sec
   DETAIL:  
        Training set after iteration 1:
        mst_key=3: metric=0.34889999032, loss=1.83796536922
        mst_key=1: metric=0.468120008707, loss=1.481554389
        mst_key=2: metric=0.475380003452, loss=1.63904440403
        Validation set after iteration 1:
        mst_key=3: metric=0.355800002813, loss=1.83082151413
        mst_key=1: metric=0.470499992371, loss=1.47972774506
        mst_key=2: metric=0.470200002193, loss=1.66988003254
   CONTEXT:  PL/Python function "madlib_keras_automl"
   
   etc.
   ```
   Also `hyperopt` with `tpe` is not learning cifar10
   ```
   SELECT madlib.madlib_keras_automl('cifar10_train_packed', 
                                     'automl_cifar10_output', 
                                     'model_arch_library', 
                                     'automl_cifar10_mst_table',
                                     ARRAY[1,2,3], 
                                     $${'loss': ['categorical_crossentropy'], 
                                        'optimizer_params_list': [ 
                                            {'optimizer': ['Adam'],'lr': 
[0.0001, 0.01, 'log']},
                                            {'optimizer': ['RMSprop'],'lr': 
[0.0001, 0.01, 'log'], 'decay': [1.0e-7, 1.0e-5, 'log']},
                                            {'optimizer': ['SGD'],'lr': 
[0.0001, 0.01, 'log'], 'momentum': [0.9, 0.99,'log']}],
                                        'metrics':['accuracy']}$$, 
                                     $${'batch_size': [64,128], 'epochs': 
[1]}$$,
                                     'hyperopt', 
                                     'num_models=3, num_iters=5, algorithm=tpe',
                                     NULL,                    -- random state
                                     NULL,                  -- object table
                                     FALSE,                 -- use GPUs
                                     'cifar10_val_packed', -- validation table
                                     1,                     -- metrics compute 
freq
                                     NULL,                  -- name
                                     NULL);                 -- descr
   ```
   produces
   ```
   CONTEXT:  PL/Python function "madlib_keras_automl"
   INFO:  
        Time for training in iteration 1: 648.608314991 sec
   DETAIL:  
        Training set after iteration 1:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.0999400019646, loss=14.5072526932
        mst_key=2: metric=0.10000000149, loss=14.5062847137
        Validation set after iteration 1:
        mst_key=3: metric=0.10000000149, loss=nan
        mst_key=1: metric=0.10000000149, loss=14.5062856674
        mst_key=2: metric=0.10000000149, loss=14.5062847137
   CONTEXT:  PL/Python function "madlib_keras_automl"
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to