ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Artem Malykh (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-10592) [ML] DatasetTrainer#update should be thought over.
Date Fri, 07 Dec 2018 12:45:00 GMT
Artem Malykh created IGNITE-10592:
-------------------------------------

             Summary: [ML] DatasetTrainer#update should be thought over.
                 Key: IGNITE-10592
                 URL: https://issues.apache.org/jira/browse/IGNITE-10592
             Project: Ignite
          Issue Type: Improvement
          Components: ml
            Reporter: Artem Malykh


DatasetTrainer#update was designed to contain skeleton for updating models, whereas concrete
behaviour of update is implemented in subclasses by overriding this skeletons protected components,
namely DatasetTrainer#checkState and DatasetTrainer#updateModel.

We have a problem here: if we retain skeleton method, then it should be final. But making
it final will cut the possibility to write wrappers around some given DatasetTrainer, because
in that case we will not be able to implement Wrapper#checkState and Wrapper#updateModel by
delegation to wrapped object (this methods have protected access). We need wrappers for stacking
and for bagging for example.

Now in wrappers we have ability to

 1. Override skeleton method, but (maybe) it seems not very clean solution, since it is no
more skeleton method and we loose guarantees that checkState and updateModel will be used
at all;

 2. place wrapper in the same package as DatasetTrainer, but this forces not-so-good classes
structure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message