h2oai / h2o-3

H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.
http://h2o.ai
Apache License 2.0
6.89k stars 2k forks source link

DL: when try to access the training frame from the link in the dl model get: Object not found #14354

Closed exalate-issue-sync[bot] closed 1 year ago

exalate-issue-sync[bot] commented 1 year ago

parse any data; build dl model with default params;
go to 'Output training metrics' and click on the link given in front of frame option. get - Object 'Key_Frame__fgl_tr.hex.deeplearning-315076ba-6174-48a0-9b7b-06ef0aca076b.train.chunks32' not found for argument: key (water.exceptions.H2OKeyNotFoundArgumentException) water.api.FramesHandler.getFromDKV(FramesHandler.java:152) water.api.FramesHandler.summary(FramesHandler.java:289) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) water.api.Handler.handle(Handler.java:56) water.api.RequestServer.handle(RequestServer.java:673) water.api.RequestServer.serve(RequestServer.java:610) water.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:438) java.lang.Thread.run(Thread.java:744)

parseFiles source_frames: ["fgl_tr.csv"] destination_frame: "Key_Frame__fgl_tr.hex" parse_type: "CSV" separator: 44 number_columns: 10 single_quotes: false column_names: ["RI","Na","Mg","Al","Si","K","Ca","Ba","Fe","type"] column_types: ["Numeric","Numeric","Numeric","Numeric","Numeric","Numeric","Numeric","Numeric","Numeric","Enum"] delete_on_done: true check_header: 1 chunk_size: 4194304

buildModel 'deeplearning', {"model_id":"deeplearning-315076ba-6174-48a0-9b7b-06ef0aca076b","training_frame":"Key_Frame__fgl_tr.hex","ignore_const_cols":true,"response_column":"type","activation":"Rectifier","hidden":[200,200],"epochs":10,"variable_importances":false,"balance_classes":false,"max_confusion_matrix_size":20,"max_hit_ratio_k":10,"checkpoint":"","use_all_factor_levels":true,"train_samples_per_iteration":-2,"adaptive_rate":true,"input_dropout_ratio":0,"l1":0,"l2":0,"loss":"Automatic","score_interval":5,"score_training_samples":10000,"score_duty_cycle":0.1,"autoencoder":false,"overwrite_with_best_model":true,"target_ratio_comm_to_comp":0.02,"seed":7487174115825989000,"rho":0.99,"epsilon":1e-8,"max_w2":"Infinity","initial_weight_distribution":"UniformAdaptive","classification_stop":0,"diagnostics":true,"fast_mode":true,"force_load_balance":true,"single_node_mode":false,"shuffle_training_data":false,"missing_values_handling":"MeanImputation","quiet_mode":false,"sparse":false,"col_major":false,"average_activation":0,"sparsity_beta":0,"max_categorical_features":2147483647,"reproducible":false,"export_weights_and_biases":false}

getFrameSummary "Key_Frame__fgl_tr.hex.deeplearning-315076ba-6174-48a0-9b7b-06ef0aca076b.train.chunks32"

exalate-issue-sync[bot] commented 1 year ago

Arno Candel commented: This is more a display bug than a DL bug. Training data was rebalanced, because "force_load_balance":true, that's why the frame is called ...76b.train.chunks32. Of course, this is a short-lived temporary object, and that's why it's gone after the model is built. The only thing we can do is not show a link to the frame, but that's hard to do in the current framework. Flow just shows all the fields.

I could add a description to make clear that it's a temporary frame (that's what happens when the training data has more than score_training_samples rows and is sampled).

exalate-issue-sync[bot] commented 1 year ago

Nidhi Mehta commented: without load balance there is link to a temporary file which when clicked gives the same error - getFrameSummary "Key_Frame__fgl_tr.hex.temporary" would actually prefer if can access the data (transformed/subseted), the algo used to build the model but then will be storing a lot of copies of the original data which is not desirable. so yes, would be good to have a description (like RF) and a link to the original data frame.

exalate-issue-sync[bot] commented 1 year ago

Arno Candel commented: Fixed to the extent possible, by adding better descriptions for the metrics if the frames are either sampled or load balanced and hence temporary.

DinukaH2O commented 1 year ago

JIRA Issue Migration Info

Jira Issue: PUBDEV-1380 Assignee: Arno Candel Reporter: Nidhi Mehta State: Resolved Fix Version: N/A Attachments: Available (Count: 2) Development PRs: N/A

Attachments From Jira

Attachment Name: dl.png Attached By: Nidhi Mehta File Link:https://h2o-3-jira-github-migration.s3.amazonaws.com/PUBDEV-1380/dl.png

Attachment Name: fgl_tr.csv Attached By: Nidhi Mehta File Link:https://h2o-3-jira-github-migration.s3.amazonaws.com/PUBDEV-1380/fgl_tr.csv