[
https://issues.apache.org/jira/browse/MADLIB-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16740622#comment-16740622
]
Frank McQuillan commented on MADLIB-1292:
-----------------------------------------
Hi [~Blize]
here is the support matrix
https://cwiki.apache.org/confluence/display/MADLIB/FAQ#FAQ-Q1-2WhatdatabaseplatformsdoesMADlibsupportandwhatistheupgradematrix?
Given the level of effort to support Greenplum, Postgres and Hawq we had to
make a decision to not actively test new versions of madlib against Hawq for
each commit. It may work OK, but we don't actively test it due to resource
limitations.
If you or any other members of the community would like to work on Hawq support
for newer versions of MADlib, that would be really great!
> Elastic Net error: The final target lambda value is not reached in warm-up
> iterations. You need more iterations!
> ----------------------------------------------------------------------------------------------------------------
>
> Key: MADLIB-1292
> URL: https://issues.apache.org/jira/browse/MADLIB-1292
> Project: Apache MADlib
> Issue Type: Question
> Reporter: Blize
> Assignee: Rahul Iyer
> Priority: Major
>
> running MADLIB 1.10 on hawq 2.4, the test module is elastic_net.
> The test command is:
> madpack -s madlib -p hawq -c gpadmin@localhost:5432/postgres -t elastic_net
> install-check
> It failed with output:
> {color:#333333}ERROR: plpy.Error: (plpython.c:4663){color}
> {color:#333333}DETAIL: {color}
> {color:#f691b2} *{color:#205081}Elastic Net error: The
> final target lambda value is not{color}*{color}
> *{color:#205081}reached in warm-up iterations. You
> need more iterations!{color}*
> then I run the commands in
> {color:#205081}elastic_net_install_check.sql_in.tmp{color} step by step, and
> finally find it is caused by {color:#205081}elastic_net_train{color} with
> optimizer {color:#205081}*igd*{color} (fista is OK). See the below command
> output:**
> postgres=# \d
> List of relations
> Schema | Name | Type | Owner | Storage
> --------+-------------------------+----------+---------+-------------
> madlib | elastic_type_src | table | gpadmin | append only
> madlib | house_en | table | gpadmin | append only
> madlib | house_en_summary | table | gpadmin | append only
> madlib | housing_test | table | gpadmin | append only
> madlib | housing_test_id_seq | sequence | gpadmin | heap
> madlib | lin_housing_wi | table | gpadmin | append only
> madlib | lin_housing_wi_id_seq | sequence | gpadmin | heap
> madlib | migrationhistory | table | gpadmin | append only
> madlib | migrationhistory_id_seq | sequence | gpadmin | heap
> (9 rows)
> postgres=# drop table if exists house_en, house_en_summary;
> DROP TABLE
> postgres=# *{color:#205081}select elastic_net_train{color}*(
> postgres(# 'lin_housing_wi',
> postgres(# 'house_en',
> postgres(# 'y',
> postgres(# 'x',
> postgres(# 'gaussian',
> postgres(# 1,
> postgres(# 0.12,
> postgres(# True,
> postgres(# 'grp_by_col',
> postgres(# '{color:#205081}*igd*{color}',
> postgres(# '{stepsize = 2
> postgres'# } 1',
> postgres(# NULL,
> postgres(# 2000,
> postgres(# 1e-6
> postgres(# );
> ERROR: plpy.Error: (plpython.c:4663)
> DETAIL:
> {color:#f691b2} *{color:#205081}Elastic Net error: The
> final target lambda value is not{color}*{color}
> *{color:#205081}reached in warm-up iterations. You
> need more iterations!{color}*
> CONTEXT: Traceback (most recent call last):
> PL/Python function "elastic_net_train", line 27, in <module>
> excluded, max_iter, tolerance)
> PL/Python function "elastic_net_train", line 467, in elastic_net_train
> PL/Python function "elastic_net_train", line 495, in
> _internal_elastic_net_train
> PL/Python function "elastic_net_train", line 46, in
> _elastic_net_gaussian_igd_train
> PL/Python function "elastic_net_train", line 167, in _elastic_net_igd_train
> PL/Python function "elastic_net_train", line 296, in
> _elastic_net_igd_train_compute
> PL/Python function "elastic_net_train", line 379, in _compute_igd
> PL/Python function "elastic_net_train"
> postgres=#
>
> by inserting debug lines in{color:#205081}
> elastic_net_optimizer_igd.py{color}, the
> {color:#205081}elastic_net_train{color}{color:#333333} with optimizer
> {color}{color:#205081}*igd*{color} failed due to it can't pass the judgement
> it.test in {color:#205081}_compute_igd{color}
> {color:#205081}_if it.test("""_{color}
> {color:#205081} _\{iteration} > \{max_iter} or_{color}
> {color:#205081}
> _\{schema_madlib}.\{func_state_diff}(_{color}
> {color:#205081} __state_previous, _state_current)
> < \{use_tolerance}_{color}
> {color:#205081} _"""):_{color}
>
> def _compute_igd(schema_madlib, func_step_aggregate, func_state_diff,
> tbl_args, tbl_state, tbl_source,
> col_ind_var, col_dep_var, grouping_str, grouping_col,
> start_iter, **kwargs):
> ...
> *{color:#14892c}#For 2000 times, it never pass it.test{color}*
> if it.test("""
> \{iteration} > \{max_iter} or
> \{schema_madlib}.\{func_state_diff}(
> _state_previous, _state_current) <
> \{use_tolerance}
> """):
> if (it.iteration < it.kwargs["max_iter"] and
> it.kwargs["lambda_count"] < it.kwargs["warm_no"]):
> it.kwargs["lambda_count"] += 1
> else:
> break
> it.final()
> *{color:#14892c}#according to the debug, 2000 times later,
> it.kwargs["lambda_count"]=0, it.kwargs["warm_no"]=1{color}*
> if it.kwargs["lambda_count"] < it.kwargs["warm_no"]:
> plpy.error("""
> Elastic Net error: The final target lambda value is not
> reached in warm-up iterations. You need more
> iterations!
> """)
> return iterationCtrl.iteration
>
> why does the two values keep no change:
> *{color:#14892c}it.kwargs["lambda_count"]=0, it.kwargs["warm_no"]=1{color}*?
> what is the expected value?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)