You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@madlib.apache.org by GitBox <gi...@apache.org> on 2019/06/03 17:33:21 UTC

[GitHub] [madlib] fmcquillan99 commented on issue #402: DL: Enable warm start

fmcquillan99 commented on issue #402: DL: Enable warm start
URL: https://github.com/apache/madlib/pull/402#issuecomment-498352780
 
 
   
   (1)
   train for 3 iterations
   ```
   DROP TABLE IF EXISTS iris_model, iris_model_summary;
   
   SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table
                                  'iris_model',          -- model output table
                                  'model_arch_library',  -- model arch table
                                   1,                    -- model arch id
                                   $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params
                                   $$ batch_size=5, epochs=3 $$,  -- fit_params
                                   3,                   -- num_iterations
                                   0,                    -- GPUs per host
                                   'iris_test_packed',   -- validation dataset
                                   1                    -- metrics compute frequency
                                 );
   
   SELECT * FROM iris_model_summary;
   
   -[ RECORD 1 ]-------------+--------------------------------------------------------------------------
   source_table              | iris_train_packed
   model                     | iris_model
   dependent_varname         | class_text
   independent_varname       | attributes
   model_arch_table          | model_arch_library
   model_arch_id             | 1
   compile_params            |  loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']
   fit_params                |  batch_size=5, epochs=3
   num_iterations            | 3
   validation_table          | iris_test_packed
   metrics_compute_frequency | 1
   name                      |
   description               |
   model_type                | madlib_keras
   model_size                | 0.7900390625
   start_training_time       | 2019-06-03 17:18:58.692221
   end_training_time         | 2019-06-03 17:19:04.165636
   metrics_elapsed_time      | {2.97064995765686,4.35413503646851,5.47341108322144}
   madlib_version            | 1.16-dev
   num_classes               | 3
   class_values              | {Iris-setosa,Iris-versicolor,Iris-virginica}
   dependent_vartype         | character varying
   normalizing_const         | 1
   metrics_type              | {accuracy}
   training_metrics_final    | 0.833333313465
   training_loss_final       | 0.578077852726
   training_metrics          | {0.666666686534882,0.708333313465118,0.833333313465118}
   training_loss             | {0.75943660736084,0.655552685260773,0.578077852725983}
   validation_metrics_final  | 0.833333313465
   validation_loss_final     | 0.574034750462
   validation_metrics        | {0.666666686534882,0.666666686534882,0.833333313465118}
   validation_loss           | {0.756515920162201,0.653064906597137,0.574034750461578}
   metrics_iters             | {1,2,3}
   ```
   
   
   (2)
   do warm start 2 times
   ```
   SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table
                                  'iris_model',          -- model output table
                                  'model_arch_library',  -- model arch table
                                   1,                    -- model arch id
                                   $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params
                                   $$ batch_size=5, epochs=3 $$,  -- fit_params
                                   3,                   -- num_iterations
                                   0,                    -- GPUs per host
                                   'iris_test_packed',   -- validation dataset
                                   1,                    -- metrics compute frequency
                                   TRUE                  -- warm start
                                 );
   ```
   
   from orig fit
   ```
   training_metrics_final    | 0.833333313465
   training_loss_final       | 0.578077852726
   training_metrics          | {0.666666686534882,0.708333313465118,0.833333313465118}
   training_loss             | {0.75943660736084,0.655552685260773,0.578077852725983}
   validation_metrics_final  | 0.833333313465
   validation_loss_final     | 0.574034750462
   validation_metrics        | {0.666666686534882,0.666666686534882,0.833333313465118}
   validation_loss           | {0.756515920162201,0.653064906597137,0.574034750461578}
   metrics_iters             | {1,2,3}
   ```
   
   
   warm start 1:
   ```
   training_metrics_final    | 0.891666650772
   training_loss_final       | 0.430346846581
   training_metrics          | {0.841666638851166,0.899999976158142,0.891666650772095}
   training_loss             | {0.514156401157379,0.466687709093094,0.430346846580505}
   validation_metrics_final  | 0.966666638851
   validation_loss_final     | 0.421454459429
   validation_metrics        | {0.866666674613953,0.966666638851166,0.966666638851166}
   validation_loss           | {0.509902536869049,0.459847092628479,0.421454459428787}
   metrics_iters             | {1,2,3}
   ```
   
   
   warm start 2:
   ```
   training_metrics_final    | 0.941666662693
   training_loss_final       | 0.362128138542
   training_metrics          | {0.933333337306976,0.941666662693024,0.941666662693024}
   training_loss             | {0.402873665094376,0.381914019584656,0.362128138542175}
   validation_metrics_final  | 1
   validation_loss_final     | 0.345562160015
   validation_metrics        | {1,1,1}
   validation_loss           | {0.391709893941879,0.367107719182968,0.345562160015106}
   metrics_iters             | {1,2,3}
   ```
   
   OK, looks like both metric and loss carry on from where they left off
   
   
   (3)
   warm start and change model_id
   ```
   SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table
                                  'iris_model',          -- model output table
                                  'model_arch_library',  -- model arch table
                                   2,                    -- model arch id
                                   $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params
                                   $$ batch_size=5, epochs=3 $$,  -- fit_params
                                   3,                   -- num_iterations
                                   0,                    -- GPUs per host
                                   'iris_test_packed',   -- validation dataset
                                   1,                    -- metrics compute frequency
                                   TRUE                  -- warm start
                                 );
   
   training_metrics_final    | 0.958333313465
   training_loss_final       | 0.313535839319
   training_metrics          | {0.958333313465118,0.958333313465118,0.958333313465118}
   training_loss             | {0.345191985368729,0.328865617513657,0.313535839319229}
   validation_metrics_final  | 1
   validation_loss_final     | 0.2869117558
   validation_metrics        | {1,1,1}
   validation_loss           | {0.325278729200363,0.306510925292969,0.286911755800247}
   metrics_iters             | {1,2,3}
   ```
   
   OK, carries on from where it left off
   
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services