You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@madlib.apache.org by "Orhan Kislal (Jira)" <ji...@apache.org> on 2023/03/01 02:50:00 UTC

[jira] [Updated] (MADLIB-1482) DL: metrics compute frequency should be >=1 only

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

Orhan Kislal updated MADLIB-1482:
---------------------------------
    Fix Version/s: v1.22.0
                       (was: v1.20.0)

> DL: metrics compute frequency should be >=1 only
> ------------------------------------------------
>
>                 Key: MADLIB-1482
>                 URL: https://issues.apache.org/jira/browse/MADLIB-1482
>             Project: Apache MADlib
>          Issue Type: Bug
>          Components: Deep Learning
>            Reporter: Frank McQuillan
>            Priority: Minor
>             Fix For: v1.22.0
>
>
> metrics_compute_frequency should be >= 1 only. Currently it allows neg numbers:
> {code}
> SELECT madlib.madlib_keras_fit('balanced2_train_packed',   -- source table
>                                'model1',          -- model output table
>                                'model_arch_library',  -- model arch table
>                                 1,                    -- model arch id
>                                 $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params
>                                 $$ batch_size=64, epochs=1 $$,  -- fit_params
>                                 10,                   -- num_iterations
>                                 FALSE,                -- use GPUs
>                                 'balanced2_test_packed',   -- validation dataset
>                                 -3,                    -- metrics compute frequency
>                                 FALSE,                -- warm start
>                                'Frank',           -- name
>                                'Network test run'  -- description
>                               );
> {code}
> produces
> {code}
> SELECT * FROM model1_summary;
> -[ RECORD 1 ]-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> source_table              | balanced2_train_packed
> model                     | model1
> dependent_varname         | {y}
> independent_varname       | {feature_vector}
> model_arch_table          | model_arch_library
> model_id                  | 1
> compile_params            |  loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] 
> fit_params                |  batch_size=64, epochs=1 
> num_iterations            | 10
> validation_table          | balanced2_test_packed
> object_table              | 
> metrics_compute_frequency | -3
> name                      | Frank
> description               | Network test run
> model_type                | madlib_keras
> model_size                | 5.9853515625
> start_training_time       | 2021-03-12 20:24:27.74585
> end_training_time         | 2021-03-12 20:24:30.012898
> metrics_elapsed_time      | {1.13839101791382,1.57564496994019,2.02039790153503,2.26697182655334}
> madlib_version            | 1.18.0-dev
> num_classes               | {23}
> dependent_vartype         | {text}
> normalizing_const         | 1
> metrics_type              | {accuracy}
> loss_type                 | categorical_crossentropy
> training_metrics_final    | 0.529687523841858
> training_loss_final       | 470.371795654297
> training_metrics          | {0.283894240856171,0.344591349363327,0.489182680845261,0.529687523841858}
> training_loss             | {3195.37939453125,1194.63610839844,508.576507568359,470.371795654297}
> validation_metrics_final  | 0.52836537361145
> validation_loss_final     | 11892.33203125
> validation_metrics        | {0.289903849363327,0.35432693362236,0.482692301273346,0.52836537361145}
> validation_loss           | {35025.0390625,23250.08984375,12720.3359375,11892.33203125}
> metrics_iters             | {3,6,9,10}
> y_class_values            | {class01,class02,class03,class04,class05,class06,class07,class08,class09,class10,class11,class12,class13,class14,class15,class16,class17,class18,class19,class20,class21,class22,normal}
> {code}
> Also if you make it 0 you get this cryptic error
> {code}
> InternalError: (psycopg2.errors.InternalError_) ZeroDivisionError: integer division or modulo by zero (plpython.c:5038)
> CONTEXT:  Traceback (most recent call last):
>   PL/Python function "madlib_keras_fit", line 23, in <module>
>     madlib_keras.fit(**globals())
>   PL/Python function "madlib_keras_fit", line 42, in wrapper
>   PL/Python function "madlib_keras_fit", line 273, in fit
>   PL/Python function "madlib_keras_fit", line 542, in should_compute_metrics_this_iter
> PL/Python function "madlib_keras_fit"
> [SQL: SELECT madlib.madlib_keras_fit('balanced2_train_packed',   -- source table
>                                'model1',          -- model output table
>                                'model_arch_library',  -- model arch table
>                                 1,                    -- model arch id
>                                 $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params
>                                 $$ batch_size=64, epochs=1 $$,  -- fit_params
>                                 10,                   -- num_iterations
>                                 FALSE,                -- use GPUs
>                                 'balanced2_test_packed',   -- validation dataset
>                                 0,                    -- metrics compute frequency
>                                 FALSE,                -- warm start
>                                'Frank',           -- name
>                                'Network test run'  -- description
>                           );]
> {code}
> fix in:
> {code}
> fit()
> fit_multiple()
> autoML()
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)