[jira] [Reopened] (IGNITE-5221) Investigate possibility of integrating with dl4j
[ https://issues.apache.org/jira/browse/IGNITE-5221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reopened IGNITE-5221: -- Assignee: Artem Malykh (was: Yury Babak) I suggest I continue my investigation for developers wanting to use Deep Learning on JVM. > Investigate possibility of integrating with dl4j > > > Key: IGNITE-5221 > URL: https://issues.apache.org/jira/browse/IGNITE-5221 > Project: Ignite > Issue Type: Task > Components: ml >Affects Versions: 2.1 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > Fix For: 2.7 > > > Investigate if there is an easy possibility for integration of apache ignite > with dl4j. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Reopened] (IGNITE-11261) [ML] Flaky test(testNaiveBaggingLogRegression)
[ https://issues.apache.org/jira/browse/IGNITE-11261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reopened IGNITE-11261: --- After changes in LearningEnvironmentBuilder constants in test should be changed. > [ML] Flaky test(testNaiveBaggingLogRegression) > -- > > Key: IGNITE-11261 > URL: https://issues.apache.org/jira/browse/IGNITE-11261 > Project: Ignite > Issue Type: Bug > Components: ml >Affects Versions: 2.8 >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > Fix For: 2.8 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11315) [ML] Nonlinear SVM
Artem Malykh created IGNITE-11315: - Summary: [ML] Nonlinear SVM Key: IGNITE-11315 URL: https://issues.apache.org/jira/browse/IGNITE-11315 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11194) [ML] Stacking example
Artem Malykh created IGNITE-11194: - Summary: [ML] Stacking example Key: IGNITE-11194 URL: https://issues.apache.org/jira/browse/IGNITE-11194 Project: Ignite Issue Type: Improvement Components: ml Affects Versions: 2.8 Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
[ https://issues.apache.org/jira/browse/IGNITE-10955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754883#comment-16754883 ] Artem Malykh edited comment on IGNITE-10955 at 1/29/19 11:11 AM: - Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). was (Author: amalykh): Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). > [ML] Migrate boosting implementation to sequential trainers composition > combinator > -- > > Key: IGNITE-10955 > URL: https://issues.apache.org/jira/browse/IGNITE-10955 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > There are two trainers composition primitives which are used in other > ensemble training methods (Bagging and Stacking) implementation. To unify > implementation I suggest to rewrite impl of boosting using these composition > primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
[ https://issues.apache.org/jira/browse/IGNITE-10955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh resolved IGNITE-10955. --- Resolution: Later > [ML] Migrate boosting implementation to sequential trainers composition > combinator > -- > > Key: IGNITE-10955 > URL: https://issues.apache.org/jira/browse/IGNITE-10955 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > There are two trainers composition primitives which are used in other > ensemble training methods (Bagging and Stacking) implementation. To unify > implementation I suggest to rewrite impl of boosting using these composition > primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
[ https://issues.apache.org/jira/browse/IGNITE-10955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754883#comment-16754883 ] Artem Malykh edited comment on IGNITE-10955 at 1/29/19 11:12 AM: - Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (https://issues.apache.org/jira/browse/IGNITE-11122). was (Author: amalykh): Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). > [ML] Migrate boosting implementation to sequential trainers composition > combinator > -- > > Key: IGNITE-10955 > URL: https://issues.apache.org/jira/browse/IGNITE-10955 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > There are two trainers composition primitives which are used in other > ensemble training methods (Bagging and Stacking) implementation. To unify > implementation I suggest to rewrite impl of boosting using these composition > primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
[ https://issues.apache.org/jira/browse/IGNITE-10955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754883#comment-16754883 ] Artem Malykh edited comment on IGNITE-10955 at 1/29/19 11:11 AM: - Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). was (Author: amalykh): Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). > [ML] Migrate boosting implementation to sequential trainers composition > combinator > -- > > Key: IGNITE-10955 > URL: https://issues.apache.org/jira/browse/IGNITE-10955 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > There are two trainers composition primitives which are used in other > ensemble training methods (Bagging and Stacking) implementation. To unify > implementation I suggest to rewrite impl of boosting using these composition > primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
[ https://issues.apache.org/jira/browse/IGNITE-10955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754883#comment-16754883 ] Artem Malykh commented on IGNITE-10955: --- Current implementation of boosting appears to be more readable in the state as it is currently implemented. The problem with migration is that training in boosting is sequential while models composition is parallel with weighted aggregator. It is possible to extend sequential trainer composition to output some general composition with specification of this composition producer, but for me it seems more cumbersome than it is currently implemented in GDB. But work that has been done related to this feature and that maybe be helpful in future is extracted into a separate ticket (IGNITE-111222). > [ML] Migrate boosting implementation to sequential trainers composition > combinator > -- > > Key: IGNITE-10955 > URL: https://issues.apache.org/jira/browse/IGNITE-10955 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > There are two trainers composition primitives which are used in other > ensemble training methods (Bagging and Stacking) implementation. To unify > implementation I suggest to rewrite impl of boosting using these composition > primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11122) [ML] Extend DatasetBuilder API with ability to extract features and labels depending on each other
Artem Malykh created IGNITE-11122: - Summary: [ML] Extend DatasetBuilder API with ability to extract features and labels depending on each other Key: IGNITE-11122 URL: https://issues.apache.org/jira/browse/IGNITE-11122 Project: Ignite Issue Type: Improvement Components: ml Affects Versions: 2.8 Reporter: Artem Malykh Assignee: Artem Malykh In some training algorithms (for example in boosting) we need extract labels of dataset depending on features (in boosting labels in a given training iteration will be the result of currently composed part of model application to the features). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10955) [ML] Migrate boosting implementation to sequential trainers composition combinator
Artem Malykh created IGNITE-10955: - Summary: [ML] Migrate boosting implementation to sequential trainers composition combinator Key: IGNITE-10955 URL: https://issues.apache.org/jira/browse/IGNITE-10955 Project: Ignite Issue Type: Improvement Components: ml Affects Versions: 2.8 Reporter: Artem Malykh Assignee: Artem Malykh There are two trainers composition primitives which are used in other ensemble training methods (Bagging and Stacking) implementation. To unify implementation I suggest to rewrite impl of boosting using these composition primitives as well. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-10573) [ML] Consistent API for Ensemble training
[ https://issues.apache.org/jira/browse/IGNITE-10573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-10573: -- Description: Unify API for ensemble training algorithms. Also unify "engines" for ensemble algorithms > [ML] Consistent API for Ensemble training > - > > Key: IGNITE-10573 > URL: https://issues.apache.org/jira/browse/IGNITE-10573 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > Fix For: 2.8 > > Time Spent: 9h 10m > Remaining Estimate: 0h > > Unify API for ensemble training algorithms. Also unify "engines" for ensemble > algorithms -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10843) [ML] In stacking add filter on features kept.
Artem Malykh created IGNITE-10843: - Summary: [ML] In stacking add filter on features kept. Key: IGNITE-10843 URL: https://issues.apache.org/jira/browse/IGNITE-10843 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-10719) [ML] LearningEnvironmentBuilder is not passed in makeBagged
[ https://issues.apache.org/jira/browse/IGNITE-10719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-10719: -- Summary: [ML] LearningEnvironmentBuilder is not passed in makeBagged (was: [ML] LEarningEnvironmentBuilder is not passed in makeBagged) > [ML] LearningEnvironmentBuilder is not passed in makeBagged > --- > > Key: IGNITE-10719 > URL: https://issues.apache.org/jira/browse/IGNITE-10719 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > > During TrainerTrainsformers#makeBagged learning environment builder is not > passed from trainer which is made bagged -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10719) [ML] LEarningEnvironmentBuilder is not passed in makeBagged
Artem Malykh created IGNITE-10719: - Summary: [ML] LEarningEnvironmentBuilder is not passed in makeBagged Key: IGNITE-10719 URL: https://issues.apache.org/jira/browse/IGNITE-10719 Project: Ignite Issue Type: Bug Components: ml Reporter: Artem Malykh Assignee: Artem Malykh During TrainerTrainsformers#makeBagged learning environment builder is not passed from trainer which is made bagged -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-10573) [ML] Consistent API for Ensemble training
[ https://issues.apache.org/jira/browse/IGNITE-10573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-10573: - Assignee: Artem Malykh > [ML] Consistent API for Ensemble training > - > > Key: IGNITE-10573 > URL: https://issues.apache.org/jira/browse/IGNITE-10573 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10653) [ML] Make basic blocks of function combinations contain toString description
Artem Malykh created IGNITE-10653: - Summary: [ML] Make basic blocks of function combinations contain toString description Key: IGNITE-10653 URL: https://issues.apache.org/jira/browse/IGNITE-10653 Project: Ignite Issue Type: Wish Reporter: Artem Malykh It may be useful to have description for identity, constant, combine and maybe other parts of combination chain have meaningful descriptions to make debugging less painful. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10592) [ML] DatasetTrainer#update should be thought over.
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)
[jira] [Updated] (IGNITE-10539) [ML] Make 'with' methods consistent
[ https://issues.apache.org/jira/browse/IGNITE-10539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-10539: -- Component/s: ml > [ML] Make 'with' methods consistent > --- > > Key: IGNITE-10539 > URL: https://issues.apache.org/jira/browse/IGNITE-10539 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Priority: Major > > In some places we have 'with*' methods making inplace changes and returning > object itself (for example MLPTrainer::withLoss) while in other places we > have them creating new instances with corresponding parameter changed (for > example DatasetBuilder::withFilter, > DatasetBuilder::withUpstreamTrainsformer). This inconsistency makes user look > into javadoc each time and worsens overall API consistensy level. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10539) [ML] Make 'with' methods consistent
Artem Malykh created IGNITE-10539: - Summary: [ML] Make 'with' methods consistent Key: IGNITE-10539 URL: https://issues.apache.org/jira/browse/IGNITE-10539 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh In some places we have 'with*' methods making inplace changes and returning object itself (for example MLPTrainer::withLoss) while in other places we have them creating new instances with corresponding parameter changed (for example DatasetBuilder::withFilter, DatasetBuilder::withUpstreamTrainsformer). This inconsistency makes user look into javadoc each time and worsens overall API consistensy level. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-10527) [ML] DenseMatrix(double[] mtx, int rows) mixes args
[ https://issues.apache.org/jira/browse/IGNITE-10527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-10527: -- Summary: [ML] DenseMatrix(double[] mtx, int rows) mixes args (was: DenseMatrix(double[] mtx, int rows) mixes args) > [ML] DenseMatrix(double[] mtx, int rows) mixes args > --- > > Key: IGNITE-10527 > URL: https://issues.apache.org/jira/browse/IGNITE-10527 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Artem Malykh >Priority: Major > > this(mtx, StorageConstants.ROW_STORAGE_MODE, rows) -> > this(mtx, rows, StorageConstants.ROW_STORAGE_MODE); -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10527) DenseMatrix(double[] mtx, int rows) mixes args
Artem Malykh created IGNITE-10527: - Summary: DenseMatrix(double[] mtx, int rows) mixes args Key: IGNITE-10527 URL: https://issues.apache.org/jira/browse/IGNITE-10527 Project: Ignite Issue Type: Bug Components: ml Reporter: Artem Malykh this(mtx, StorageConstants.ROW_STORAGE_MODE, rows) -> this(mtx, rows, StorageConstants.ROW_STORAGE_MODE); -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-10144) Optimize bagging upstream transformer
[ https://issues.apache.org/jira/browse/IGNITE-10144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16703391#comment-16703391 ] Artem Malykh commented on IGNITE-10144: --- According to series of quick experiments, approach used now {code:java} upstream.sequential().flatMap(en -> Stream.generate(() -> en).limit(poisson.sample())) {code} outperforms following approaches: 1. Using hash code for determinism instead of "sequential" and then using parallel {code:java} PoissonWithUnderlyingRandomAccess p = new PoissonWithUnderlyingRandomAccess( new Well19937c(123L), 0.3, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS upstream .flatMap(en -> { p.getRand().setSeed(1234L + en.hashCode()); return Stream.generate(() -> en).limit(p.sample()); }).parallel().count();{code} 2. Zipping upstream with indexes stream and then using index for determinism. > Optimize bagging upstream transformer > - > > Key: IGNITE-10144 > URL: https://issues.apache.org/jira/browse/IGNITE-10144 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Minor > Fix For: 2.8 > > > For now BaggingUpstreamTransformer makes upstream sequential to make > transformation deterministic. Maybe we should do it other way, for example > use mapping of the form (entryIdx, en) -> Stream.generate(() -> en).limit(new > PoissonDistribution(Well19937c(entryIdx + seed), ...).sample()) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (IGNITE-10144) Optimize bagging upstream transformer
[ https://issues.apache.org/jira/browse/IGNITE-10144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16703391#comment-16703391 ] Artem Malykh edited comment on IGNITE-10144 at 11/29/18 3:58 PM: - According to series of quick experiments, approach used now (tested on "count") {code:java} upstream.sequential().flatMap(en -> Stream.generate(() -> en).limit(poisson.sample())).count() {code} outperforms following approaches: 1. Using hash code for determinism instead of "sequential" and then using parallel (this is bad approach because setSeed is not threadsafe) {code:java} PoissonWithUnderlyingRandomAccess p = new PoissonWithUnderlyingRandomAccess( new Well19937c(123L), 0.3, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS upstream .flatMap(en -> { p.getRand().setSeed(1234L + en.hashCode()); return Stream.generate(() -> en).limit(p.sample()); }).parallel().count();{code} 2. Zipping upstream with indexes stream and then using index for determinism. was (Author: amalykh): According to series of quick experiments, approach used now (tested on "count") {code:java} upstream.sequential().flatMap(en -> Stream.generate(() -> en).limit(poisson.sample())).count() {code} outperforms following approaches: 1. Using hash code for determinism instead of "sequential" and then using parallel {code:java} PoissonWithUnderlyingRandomAccess p = new PoissonWithUnderlyingRandomAccess( new Well19937c(123L), 0.3, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS upstream .flatMap(en -> { p.getRand().setSeed(1234L + en.hashCode()); return Stream.generate(() -> en).limit(p.sample()); }).parallel().count();{code} 2. Zipping upstream with indexes stream and then using index for determinism. > Optimize bagging upstream transformer > - > > Key: IGNITE-10144 > URL: https://issues.apache.org/jira/browse/IGNITE-10144 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Minor > Fix For: 2.8 > > > For now BaggingUpstreamTransformer makes upstream sequential to make > transformation deterministic. Maybe we should do it other way, for example > use mapping of the form (entryIdx, en) -> Stream.generate(() -> en).limit(new > PoissonDistribution(Well19937c(entryIdx + seed), ...).sample()) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (IGNITE-10144) Optimize bagging upstream transformer
[ https://issues.apache.org/jira/browse/IGNITE-10144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16703391#comment-16703391 ] Artem Malykh edited comment on IGNITE-10144 at 11/29/18 3:56 PM: - According to series of quick experiments, approach used now (tested on "count") {code:java} upstream.sequential().flatMap(en -> Stream.generate(() -> en).limit(poisson.sample())).count() {code} outperforms following approaches: 1. Using hash code for determinism instead of "sequential" and then using parallel {code:java} PoissonWithUnderlyingRandomAccess p = new PoissonWithUnderlyingRandomAccess( new Well19937c(123L), 0.3, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS upstream .flatMap(en -> { p.getRand().setSeed(1234L + en.hashCode()); return Stream.generate(() -> en).limit(p.sample()); }).parallel().count();{code} 2. Zipping upstream with indexes stream and then using index for determinism. was (Author: amalykh): According to series of quick experiments, approach used now {code:java} upstream.sequential().flatMap(en -> Stream.generate(() -> en).limit(poisson.sample())) {code} outperforms following approaches: 1. Using hash code for determinism instead of "sequential" and then using parallel {code:java} PoissonWithUnderlyingRandomAccess p = new PoissonWithUnderlyingRandomAccess( new Well19937c(123L), 0.3, PoissonDistribution.DEFAULT_EPSILON, PoissonDistribution.DEFAULT_MAX_ITERATIONS upstream .flatMap(en -> { p.getRand().setSeed(1234L + en.hashCode()); return Stream.generate(() -> en).limit(p.sample()); }).parallel().count();{code} 2. Zipping upstream with indexes stream and then using index for determinism. > Optimize bagging upstream transformer > - > > Key: IGNITE-10144 > URL: https://issues.apache.org/jira/browse/IGNITE-10144 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Minor > Fix For: 2.8 > > > For now BaggingUpstreamTransformer makes upstream sequential to make > transformation deterministic. Maybe we should do it other way, for example > use mapping of the form (entryIdx, en) -> Stream.generate(() -> en).limit(new > PoissonDistribution(Well19937c(entryIdx + seed), ...).sample()) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-10144) Optimize bagging upstream transformer
[ https://issues.apache.org/jira/browse/IGNITE-10144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-10144: - Assignee: Artem Malykh > Optimize bagging upstream transformer > - > > Key: IGNITE-10144 > URL: https://issues.apache.org/jira/browse/IGNITE-10144 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Minor > Fix For: 2.8 > > > For now BaggingUpstreamTransformer makes upstream sequential to make > transformation deterministic. Maybe we should do it other way, for example > use mapping of the form (entryIdx, en) -> Stream.generate(() -> en).limit(new > PoissonDistribution(Well19937c(entryIdx + seed), ...).sample()) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-10297) Investigate possibility of restricting API of Upstream transformer
[ https://issues.apache.org/jira/browse/IGNITE-10297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16701848#comment-16701848 ] Artem Malykh commented on IGNITE-10297: --- [~dmitrievanthony] This is already done in IGNITE-10272 > Investigate possibility of restricting API of Upstream transformer > -- > > Key: IGNITE-10297 > URL: https://issues.apache.org/jira/browse/IGNITE-10297 > Project: Ignite > Issue Type: Improvement > Components: ml >Affects Versions: 2.8 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > Fix For: 2.8 > > > Signature of 'transform' method of UpstreamTransformer is > Stream -> Stream. For now it is used only for > bagging and for that purpose, UpstreamEntry -> Stream would > suffice (just use 'flatMap' on upstream), maybe we should change signature to > this form. From other hand, we'll cut some possibilities like limiting of > upstream. This question needs investigation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10441) Fluent API refactoring.
Artem Malykh created IGNITE-10441: - Summary: Fluent API refactoring. Key: IGNITE-10441 URL: https://issues.apache.org/jira/browse/IGNITE-10441 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh Assignee: Artem Malykh In many classes we have fluent API ("with*" methods). We have following problem: these methods should return exactly instance of it's own class (otherwise we'll have problems with subclasses, more precisely, if with method is declared in class A and we have class B extending A, with method (if we do not override it) will return A). Currently we opted to override "with" methods in subclasses. There is one solution which is probably more elegant, but involves relatively complex generics construction which reduces readability: {code:java} class A> { Self withX(X x) { this.x = x; return (Self)this; } class B> extends A { // No need to override "withX" here Self withY(Y y) { this.y = y; return(Self)this; } } class C> extends B { // No need to override "withX" and "withY" methods here. } //... etc {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10296) Change API of UpstreamTransformer to make it accept LearningEnvironment.
Artem Malykh created IGNITE-10296: - Summary: Change API of UpstreamTransformer to make it accept LearningEnvironment. Key: IGNITE-10296 URL: https://issues.apache.org/jira/browse/IGNITE-10296 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh Assignee: Artem Malykh For now UpstreamTransformer uses Random object as parameter to be able to fix it's behaviour through seeding. This goal should be reached by using random number generator from learning environment (IGNITE-10272). So, UpstreamTransformer should be result of work of UpstreamTransformerBuilder (LearningEnvironment -> UpstreamTransformer) or something like this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10297) Investigate possibility of restricting API of Upstream transformer
Artem Malykh created IGNITE-10297: - Summary: Investigate possibility of restricting API of Upstream transformer Key: IGNITE-10297 URL: https://issues.apache.org/jira/browse/IGNITE-10297 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh Assignee: Artem Malykh Signature of 'transform' method of UpstreamTransformer is Stream -> Stream. For now it is used only for bagging and for that purpose, UpstreamEntry -> Stream would suffice (just use 'flatMap' on upstream), maybe we should change signature to this form. From other hand, we'll cut some possibilities like limiting of upstream. This question needs investigation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10272) Inject learning environment into scope of dataset compute task
Artem Malykh created IGNITE-10272: - Summary: Inject learning environment into scope of dataset compute task Key: IGNITE-10272 URL: https://issues.apache.org/jira/browse/IGNITE-10272 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10144) Optimize bagging upstream transformer
Artem Malykh created IGNITE-10144: - Summary: Optimize bagging upstream transformer Key: IGNITE-10144 URL: https://issues.apache.org/jira/browse/IGNITE-10144 Project: Ignite Issue Type: Improvement Components: ml Reporter: Artem Malykh For now BaggingUpstreamTransformer makes upstream sequential to make transformation deterministic. Maybe we should do it other way, for example use mapping of the form (entryIdx, en) -> Stream.generate(() -> en).limit(new PoissonDistribution(Well19937c(entryIdx + seed), ...).sample()) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-8867) [ML] Bagging on learning sample
[ https://issues.apache.org/jira/browse/IGNITE-8867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-8867: Assignee: Artem Malykh (was: Oleg Ignatenko) > [ML] Bagging on learning sample > --- > > Key: IGNITE-8867 > URL: https://issues.apache.org/jira/browse/IGNITE-8867 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > Fix For: 2.7 > > > Need to implement bootstrapping algorithm in Bagging-classifier -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-8679) Integration with tensorflow datasets
[ https://issues.apache.org/jira/browse/IGNITE-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-8679: - Description: Add support of Apache Ignite caches as the source of data. > Integration with tensorflow datasets > > > Key: IGNITE-8679 > URL: https://issues.apache.org/jira/browse/IGNITE-8679 > Project: Ignite > Issue Type: New Feature > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > Fix For: 2.6 > > > Add support of Apache Ignite caches as the source of data. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7590) Change example for decision trees
Artem Malykh created IGNITE-7590: Summary: Change example for decision trees Key: IGNITE-7590 URL: https://issues.apache.org/jira/browse/IGNITE-7590 Project: Ignite Issue Type: Bug Components: ml Reporter: Artem Malykh Assignee: Artem Malykh Fix For: 2.4 Change example for decision trees according to comments from [~dmagda] at https://issues.apache.org/jira/browse/IGNITE-7504 . -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-7590) Change example for decision trees
[ https://issues.apache.org/jira/browse/IGNITE-7590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-7590: - Issue Type: Improvement (was: Bug) > Change example for decision trees > -- > > Key: IGNITE-7590 > URL: https://issues.apache.org/jira/browse/IGNITE-7590 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > Fix For: 2.4 > > > Change example for decision trees according to comments from [~dmagda] at > https://issues.apache.org/jira/browse/IGNITE-7504 . -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-7504) Decision tree documentation
[ https://issues.apache.org/jira/browse/IGNITE-7504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7504: Assignee: Denis Magda (was: Artem Malykh) > Decision tree documentation > --- > > Key: IGNITE-7504 > URL: https://issues.apache.org/jira/browse/IGNITE-7504 > Project: Ignite > Issue Type: Task > Components: documentation, ml >Reporter: Yury Babak >Assignee: Denis Magda >Priority: Major > Labels: documentation > Fix For: 2.4 > > > We want to add Decision tree documentation -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7504) Decision tree documentation
[ https://issues.apache.org/jira/browse/IGNITE-7504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16337662#comment-16337662 ] Artem Malykh commented on IGNITE-7504: -- [~dmagda] , please review the doc: [https://dash.readme.io/project/apacheignite/v2.3/docs/decision-trees-24] . > Decision tree documentation > --- > > Key: IGNITE-7504 > URL: https://issues.apache.org/jira/browse/IGNITE-7504 > Project: Ignite > Issue Type: Task > Components: documentation, ml >Reporter: Yury Babak >Assignee: Artem Malykh >Priority: Major > Labels: documentation > Fix For: 2.4 > > > We want to add Decision tree documentation -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7503) MLP documentation
[ https://issues.apache.org/jira/browse/IGNITE-7503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16337308#comment-16337308 ] Artem Malykh commented on IGNITE-7503: -- [~dmagda] , please review the doc: https://dash.readme.io/project/apacheignite/v2.3/docs/multilayer-perceptron > MLP documentation > - > > Key: IGNITE-7503 > URL: https://issues.apache.org/jira/browse/IGNITE-7503 > Project: Ignite > Issue Type: Sub-task > Components: documentation, ml >Reporter: Yury Babak >Assignee: Denis Magda >Priority: Major > Labels: documentaion > Fix For: 2.4 > > > A need to add documentation about MLP -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-7503) MLP documentation
[ https://issues.apache.org/jira/browse/IGNITE-7503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7503: Assignee: Denis Magda (was: Artem Malykh) > MLP documentation > - > > Key: IGNITE-7503 > URL: https://issues.apache.org/jira/browse/IGNITE-7503 > Project: Ignite > Issue Type: Sub-task > Components: documentation, ml >Reporter: Yury Babak >Assignee: Denis Magda >Priority: Major > Labels: documentaion > Fix For: 2.4 > > > A need to add documentation about MLP -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-7456) Fix wrong batch logic in distributed MLP training.
[ https://issues.apache.org/jira/browse/IGNITE-7456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-7456: - Summary: Fix wrong batch logic in distributed MLP training. (was: Wrong batch logic in distributed MLP training.) > Fix wrong batch logic in distributed MLP training. > -- > > Key: IGNITE-7456 > URL: https://issues.apache.org/jira/browse/IGNITE-7456 > Project: Ignite > Issue Type: Bug > Components: ml >Affects Versions: 2.4 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > Fix For: 2.4 > > > Batch for training is created outside of training loop, therefore in each > local step we work with the same batch. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7456) Wrong batch logic in distributed MLP training.
Artem Malykh created IGNITE-7456: Summary: Wrong batch logic in distributed MLP training. Key: IGNITE-7456 URL: https://issues.apache.org/jira/browse/IGNITE-7456 Project: Ignite Issue Type: Bug Components: ml Affects Versions: 2.4 Reporter: Artem Malykh Assignee: Artem Malykh Fix For: 2.4 Batch for training is created outside of training loop, therefore in each local step we work with the same batch. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-7418) Add RMSProp parameter update algorithm
[ https://issues.apache.org/jira/browse/IGNITE-7418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-7418: - Summary: Add RMSProp parameter update algorithm (was: Add RMSProp parameter update algorithm/) > Add RMSProp parameter update algorithm > -- > > Key: IGNITE-7418 > URL: https://issues.apache.org/jira/browse/IGNITE-7418 > Project: Ignite > Issue Type: Sub-task >Reporter: Artem Malykh >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-7397) Fix wrong cache configuration for MLP training data
[ https://issues.apache.org/jira/browse/IGNITE-7397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7397: Assignee: Artem Malykh (was: Oleg Ignatenko) > Fix wrong cache configuration for MLP training data > --- > > Key: IGNITE-7397 > URL: https://issues.apache.org/jira/browse/IGNITE-7397 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.4 >Reporter: Artem Malykh >Assignee: Artem Malykh >Priority: Major > Fix For: 2.4 > > > Replicated cache used in MLP group training should be configured as FULL_SYNC. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7418) Add RMSProp parameter update algorithm/
Artem Malykh created IGNITE-7418: Summary: Add RMSProp parameter update algorithm/ Key: IGNITE-7418 URL: https://issues.apache.org/jira/browse/IGNITE-7418 Project: Ignite Issue Type: Sub-task Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-7417) Add AdaDelta parameter update algorithm
[ https://issues.apache.org/jira/browse/IGNITE-7417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-7417: - Summary: Add AdaDelta parameter update algorithm (was: AdaDelta parameter update algorithm) > Add AdaDelta parameter update algorithm > --- > > Key: IGNITE-7417 > URL: https://issues.apache.org/jira/browse/IGNITE-7417 > Project: Ignite > Issue Type: Sub-task >Reporter: Artem Malykh >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7417) AdaDelta parameter update algorithm
Artem Malykh created IGNITE-7417: Summary: AdaDelta parameter update algorithm Key: IGNITE-7417 URL: https://issues.apache.org/jira/browse/IGNITE-7417 Project: Ignite Issue Type: Sub-task Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7416) Add more parameter update methods
Artem Malykh created IGNITE-7416: Summary: Add more parameter update methods Key: IGNITE-7416 URL: https://issues.apache.org/jira/browse/IGNITE-7416 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-7405) Distributed MLP cleanup/refactoring phase 2
Artem Malykh created IGNITE-7405: Summary: Distributed MLP cleanup/refactoring phase 2 Key: IGNITE-7405 URL: https://issues.apache.org/jira/browse/IGNITE-7405 Project: Ignite Issue Type: Bug Components: ml Affects Versions: 2.4 Reporter: Artem Malykh Assignee: Artem Malykh Fix For: 2.4 All refactoring which is not done in https://issues.apache.org/jira/browse/IGNITE-7350. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-7350) Distributed MLP cleanup/refactoring
[ https://issues.apache.org/jira/browse/IGNITE-7350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7350: Assignee: Artem Malykh (was: Yury Babak) > Distributed MLP cleanup/refactoring > --- > > Key: IGNITE-7350 > URL: https://issues.apache.org/jira/browse/IGNITE-7350 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh > Labels: neural_network, refactoring > > Current state of MLP not so good, so we need improve it and may be rewrite > some parts of this NN. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-7397) Fix wrong cache configuration for MLP training data
[ https://issues.apache.org/jira/browse/IGNITE-7397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7397: Assignee: Artem Malykh > Fix wrong cache configuration for MLP training data > --- > > Key: IGNITE-7397 > URL: https://issues.apache.org/jira/browse/IGNITE-7397 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.4 >Reporter: Artem Malykh >Assignee: Artem Malykh > Fix For: 2.4 > > > Replicated cache used in MLP group training should be configured as FULL_SYNC. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-7397) Fix wrong cache configuration for MLP training data
[ https://issues.apache.org/jira/browse/IGNITE-7397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-7397: - Affects Version/s: 2.4 Fix Version/s: 2.4 > Fix wrong cache configuration for MLP training data > --- > > Key: IGNITE-7397 > URL: https://issues.apache.org/jira/browse/IGNITE-7397 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.4 >Reporter: Artem Malykh > Fix For: 2.4 > > > Replicated cache used in MLP group training should be configured as FULL_SYNC. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7397) Fix wrong cache configuration for MLP training data
Artem Malykh created IGNITE-7397: Summary: Fix wrong cache configuration for MLP training data Key: IGNITE-7397 URL: https://issues.apache.org/jira/browse/IGNITE-7397 Project: Ignite Issue Type: Bug Reporter: Artem Malykh Replicated cache used in MLP group training should be configured as FULL_SYNC. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7375) Perform right cleanup for MLPGroupUpdateTrainer
Artem Malykh created IGNITE-7375: Summary: Perform right cleanup for MLPGroupUpdateTrainer Key: IGNITE-7375 URL: https://issues.apache.org/jira/browse/IGNITE-7375 Project: Ignite Issue Type: Bug Affects Versions: 2.4 Reporter: Artem Malykh Assignee: Artem Malykh Fix For: 2.4 We should clean training data from auxiliary caches after training. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7367) Flickering minMax test in SparseDistributedMatrixTest
Artem Malykh created IGNITE-7367: Summary: Flickering minMax test in SparseDistributedMatrixTest Key: IGNITE-7367 URL: https://issues.apache.org/jira/browse/IGNITE-7367 Project: Ignite Issue Type: Bug Reporter: Artem Malykh java.lang.NullPointerException: null at java.util.Collections.min(Collections.java:600) at org.apache.ignite.ml.math.distributed.CacheUtils.sparseMin(CacheUtils.java:241) at org.apache.ignite.ml.math.impls.matrix.SparseBlockDistributedMatrix.minValue(SparseBlockDistributedMatrix.java:271) at org.apache.ignite.ml.math.impls.matrix.SparseDistributedBlockMatrixTest.testMinMax(SparseDistributedBlockMatrixTest.java:178) --- Stdout: --- [2018-01-09 17:21:46,029][INFO ][main][root] >>> Starting test: SparseDistributedBlockMatrixTest#testMinMax <<< [2018-01-09 17:21:58,436][INFO ][main][root] >>> Stopping test: SparseDistributedBlockMatrixTest#testMinMax in 12407 ms <<< --- Stderr: --- [2018-01-09 17:21:58,432][ERROR][main][root] Test failed. java.lang.NullPointerException at java.util.Collections.min(Collections.java:600) at org.apache.ignite.ml.math.distributed.CacheUtils.sparseMin(CacheUtils.java:241) at org.apache.ignite.ml.math.impls.matrix.SparseBlockDistributedMatrix.minValue(SparseBlockDistributedMatrix.java:271) at org.apache.ignite.ml.math.impls.matrix.SparseDistributedBlockMatrixTest.testMinMax(SparseDistributedBlockMatrixTest.java:178) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at junit.framework.TestCase.runTest(TestCase.java:176) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2001) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:133) at org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1916) at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7322) Distributed MLP training
Artem Malykh created IGNITE-7322: Summary: Distributed MLP training Key: IGNITE-7322 URL: https://issues.apache.org/jira/browse/IGNITE-7322 Project: Ignite Issue Type: Sub-task Affects Versions: 2.4 Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-7174) Local MLP
[ https://issues.apache.org/jira/browse/IGNITE-7174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7174: Assignee: Artem Malykh > Local MLP > - > > Key: IGNITE-7174 > URL: https://issues.apache.org/jira/browse/IGNITE-7174 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh > Fix For: 2.4 > > > local version of MLP -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7155) Semantics inconsistency in 'copy' method of vectors and matrices in views.
Artem Malykh created IGNITE-7155: Summary: Semantics inconsistency in 'copy' method of vectors and matrices in views. Key: IGNITE-7155 URL: https://issues.apache.org/jira/browse/IGNITE-7155 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh For now 'copy' on view of vector or a matrix does not really copy any underlying data, it only creates new view object. I suggest to change this behavior or present a new method which makes a deep copy which is needed in many applications. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7140) Error in cardinality checks in AbstractMatrix in methods plus and minus
Artem Malykh created IGNITE-7140: Summary: Error in cardinality checks in AbstractMatrix in methods plus and minus Key: IGNITE-7140 URL: https://issues.apache.org/jira/browse/IGNITE-7140 Project: Ignite Issue Type: Bug Reporter: Artem Malykh Assignee: Artem Malykh Cardinality checks in mentioned methods compare matrix dimensions with its own dimensions instead of operands dimensions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7129) Implement Multilayer Perceptron
Artem Malykh created IGNITE-7129: Summary: Implement Multilayer Perceptron Key: IGNITE-7129 URL: https://issues.apache.org/jira/browse/IGNITE-7129 Project: Ignite Issue Type: New Feature Reporter: Artem Malykh Assignee: Artem Malykh -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-7007) Decision tree code cleanup
[ https://issues.apache.org/jira/browse/IGNITE-7007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-7007: Assignee: Artem Malykh > Decision tree code cleanup > -- > > Key: IGNITE-7007 > URL: https://issues.apache.org/jira/browse/IGNITE-7007 > Project: Ignite > Issue Type: Task >Affects Versions: 2.4 >Reporter: Artem Malykh >Assignee: Artem Malykh > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-7007) Decision tree code cleanup
Artem Malykh created IGNITE-7007: Summary: Decision tree code cleanup Key: IGNITE-7007 URL: https://issues.apache.org/jira/browse/IGNITE-7007 Project: Ignite Issue Type: Task Affects Versions: 2.4 Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6864) Apply refactorings to decision trees code.
Artem Malykh created IGNITE-6864: Summary: Apply refactorings to decision trees code. Key: IGNITE-6864 URL: https://issues.apache.org/jira/browse/IGNITE-6864 Project: Ignite Issue Type: Task Security Level: Public (Viewable by anyone) Reporter: Artem Malykh * Think about changes signatures in MNISTUtils, maybe we should use collections or arrays instead of streams. * Add tests for CacheUtils new methods used in ColumnDecisionTreeTrainer * Think about OpenBitSet insead of SparseBitSet and BitSet * Consider making decision tree internal structure classes -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6862) SparseDistributedMatrixStorage cache config possibly allows read of old state of matrix
Artem Malykh created IGNITE-6862: Summary: SparseDistributedMatrixStorage cache config possibly allows read of old state of matrix Key: IGNITE-6862 URL: https://issues.apache.org/jira/browse/IGNITE-6862 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Reporter: Artem Malykh Fix For: 2.4 Because synchronization mode is PRIMARY_SYNC, but by default we have readFromBackup=true, we can read old state of matrix from backups. It seem to be an issue. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-6849) Failed k-means tests with multiple nodes
[ https://issues.apache.org/jira/browse/IGNITE-6849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-6849: Assignee: Artem Malykh (was: Yury Babak) > Failed k-means tests with multiple nodes > > > Key: IGNITE-6849 > URL: https://issues.apache.org/jira/browse/IGNITE-6849 > Project: Ignite > Issue Type: Bug > Security Level: Public(Viewable by anyone) > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh > Fix For: 2.4 > > > * MapWrapperVector: missed no-op constructor. > * Cardinality violation exceptions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-6783) Create common mechanism for group training.
Artem Malykh created IGNITE-6783: Summary: Create common mechanism for group training. Key: IGNITE-6783 URL: https://issues.apache.org/jira/browse/IGNITE-6783 Project: Ignite Issue Type: Task Security Level: Public (Viewable by anyone) Reporter: Artem Malykh Assignee: Artem Malykh In distributed ML it is a common task to train several models in parallel with ability to communicate with each other during training. Simple example of this case is training of neural network with SGD on different chunks of data located on several nodes. In such training we do the following in a loop: on each node we do one or several SGD steps then send gradient on central node which averages gradients from each of worker nodes and send back the averaged gradient. There is a pattern in this procedure which can be applied to other ML algos and it could be useful to extract this pattern. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5280) SparseDistributedMatrix refactoring
[ https://issues.apache.org/jira/browse/IGNITE-5280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16138417#comment-16138417 ] Artem Malykh commented on IGNITE-5280: -- Looks good. > SparseDistributedMatrix refactoring > --- > > Key: IGNITE-5280 > URL: https://issues.apache.org/jira/browse/IGNITE-5280 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Yury Babak >Assignee: Yury Babak > Fix For: 2.2 > > > We must refactor SparseDistributedMatrix for decrease communication during > computations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5925) Get row/col for matrices
[ https://issues.apache.org/jira/browse/IGNITE-5925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16132136#comment-16132136 ] Artem Malykh commented on IGNITE-5925: -- [~chief] Looks good for me > Get row/col for matrices > > > Key: IGNITE-5925 > URL: https://issues.apache.org/jira/browse/IGNITE-5925 > Project: Ignite > Issue Type: Improvement > Components: ml >Reporter: Yury Babak >Assignee: Yury Babak > Fix For: 2.2 > > > It should be useful to have this api for any matrix especially in BLAS and > decompositions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5880) BLAS integration phase 2
[ https://issues.apache.org/jira/browse/IGNITE-5880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16116627#comment-16116627 ] Artem Malykh commented on IGNITE-5880: -- [~chief] Looks good for me > BLAS integration phase 2 > > > Key: IGNITE-5880 > URL: https://issues.apache.org/jira/browse/IGNITE-5880 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Yury Babak >Assignee: Yury Babak > Fix For: 2.2 > > > The second phase of BLAS integration. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5894) Implement Gini impurity calculator for column-based decision trees.
Artem Malykh created IGNITE-5894: Summary: Implement Gini impurity calculator for column-based decision trees. Key: IGNITE-5894 URL: https://issues.apache.org/jira/browse/IGNITE-5894 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5893) Change column decision tree stopping criterion
Artem Malykh created IGNITE-5893: Summary: Change column decision tree stopping criterion Key: IGNITE-5893 URL: https://issues.apache.org/jira/browse/IGNITE-5893 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh Currently column decision tree trainer stops when first leaf reacehes maxdepth (or information gain is less than minimal). Instead we should stop when every leaf is on max depth (or information gain is less than minimal) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5892) Check for optimal way of working with sparse data in decision trees
Artem Malykh created IGNITE-5892: Summary: Check for optimal way of working with sparse data in decision trees Key: IGNITE-5892 URL: https://issues.apache.org/jira/browse/IGNITE-5892 Project: Ignite Issue Type: Improvement Reporter: Artem Malykh -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5856) BLAS integration phase 1
[ https://issues.apache.org/jira/browse/IGNITE-5856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16106967#comment-16106967 ] Artem Malykh commented on IGNITE-5856: -- [~chief] Looks ok to me. > BLAS integration phase 1 > > > Key: IGNITE-5856 > URL: https://issues.apache.org/jira/browse/IGNITE-5856 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Yury Babak >Assignee: Yury Babak > > (i) BLAS multiplication for dense and sparse local matrices. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5278) BLAS implementation
[ https://issues.apache.org/jira/browse/IGNITE-5278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16100201#comment-16100201 ] Artem Malykh commented on IGNITE-5278: -- [~chief] Looks fine for me. > BLAS implementation > --- > > Key: IGNITE-5278 > URL: https://issues.apache.org/jira/browse/IGNITE-5278 > Project: Ignite > Issue Type: New Feature > Components: ml >Affects Versions: 2.1 >Reporter: Yury Babak >Assignee: Yury Babak > Labels: ml > Fix For: 2.2 > > > We need BLAS implementation for local computations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Issue Comment Deleted] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-5688: - Comment: was deleted (was: http://ci.ignite.apache.org/viewLog.html?buildTypeId=Ignite20Tests_IgniteMl=716191_Ignite20Tests_IgniteMl=pull/2272/head -- Green TC run.) > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug > Components: ml >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > > SparseDistributedMatrixTest::testCacheBehaviour crashed because of wrong > checks of cache behaviour. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16080418#comment-16080418 ] Artem Malykh commented on IGNITE-5688: -- http://ci.ignite.apache.org/viewLog.html?buildTypeId=Ignite20Tests_IgniteMl=716191_Ignite20Tests_IgniteMl=pull/2272/head -- Green TC run. > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug > Components: ml >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > > SparseDistributedMatrixTest::testCacheBehaviour crashed because of wrong > checks of cache behaviour. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16080297#comment-16080297 ] Artem Malykh commented on IGNITE-5688: -- [~chief] Please, look into the pull request. > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug > Components: ml >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > > SparseDistributedMatrixTest::testCacheBehaviour crashed because of wrong > checks of cache behaviour. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-5688: - Description: SparseDistributedMatrixTest::testCacheBehaviour crashed because of wrong checks of cache behaviour. > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > > SparseDistributedMatrixTest::testCacheBehaviour crashed because of wrong > checks of cache behaviour. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16080211#comment-16080211 ] Artem Malykh commented on IGNITE-5688: -- https://github.com/gridgain/apache-ignite/pull/77 -- patch > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Reopened] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
[ https://issues.apache.org/jira/browse/IGNITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reopened IGNITE-5688: -- > Fix SparseDistributedMatrixTest::testCacheBehaviour crash > - > > Key: IGNITE-5688 > URL: https://issues.apache.org/jira/browse/IGNITE-5688 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.0 >Reporter: Artem Malykh >Assignee: Artem Malykh > Labels: test-fail > Fix For: 2.1 > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-5278) BLAS implementation
[ https://issues.apache.org/jira/browse/IGNITE-5278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-5278: - Fix Version/s: (was: 2.1) 2.2 > BLAS implementation > --- > > Key: IGNITE-5278 > URL: https://issues.apache.org/jira/browse/IGNITE-5278 > Project: Ignite > Issue Type: Sub-task > Components: ml >Affects Versions: 2.1 >Reporter: Yury Babak >Assignee: Artem Malykh > Labels: ml > Fix For: 2.2 > > > We need BLAS implementation for local computations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (IGNITE-5102) Fix fold/map behavior for sparse matrices .
[ https://issues.apache.org/jira/browse/IGNITE-5102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-5102: - Fix Version/s: (was: 2.1) 2.2 > Fix fold/map behavior for sparse matrices . > --- > > Key: IGNITE-5102 > URL: https://issues.apache.org/jira/browse/IGNITE-5102 > Project: Ignite > Issue Type: Bug > Components: ml >Reporter: Artem Malykh >Assignee: Artem Malykh > Fix For: 2.2 > > > For now when doing 'map' and 'fold' over a sparse matrix, only non-default > values are considered. This is bad because this is in conflict with semantics > of 'fold' and 'map' for other matrix implementations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (IGNITE-5688) Fix SparseDistributedMatrixTest::testCacheBehaviour crash
Artem Malykh created IGNITE-5688: Summary: Fix SparseDistributedMatrixTest::testCacheBehaviour crash Key: IGNITE-5688 URL: https://issues.apache.org/jira/browse/IGNITE-5688 Project: Ignite Issue Type: Bug Affects Versions: 2.0 Reporter: Artem Malykh Assignee: Artem Malykh Fix For: 2.1 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Assigned] (IGNITE-5218) Decision trees
[ https://issues.apache.org/jira/browse/IGNITE-5218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-5218: Assignee: Artem Malykh > Decision trees > -- > > Key: IGNITE-5218 > URL: https://issues.apache.org/jira/browse/IGNITE-5218 > Project: Ignite > Issue Type: New Feature > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh > > We want to implement Decision trees for Ignite ML because it's really common > one for ML. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5350) Document ordinary least squares (OLS) linear regression
[ https://issues.apache.org/jira/browse/IGNITE-5350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16050533#comment-16050533 ] Artem Malykh commented on IGNITE-5350: -- [~dmagda] Please, review the document linked above. > Document ordinary least squares (OLS) linear regression > --- > > Key: IGNITE-5350 > URL: https://issues.apache.org/jira/browse/IGNITE-5350 > Project: Ignite > Issue Type: Sub-task > Components: ml >Affects Versions: 2.1 >Reporter: Denis Magda >Assignee: Artem Malykh > Fix For: 2.1 > > > Someone should document OLS algorithm under the ML section on readme.io > pasting code snippets. I'll help to create new pages and rework the content > if needed. > Plus, it makes sense to add an example to the source code and refer to it > from the readme.io documentation. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5351) Document K-means clustering algorithm
[ https://issues.apache.org/jira/browse/IGNITE-5351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16047638#comment-16047638 ] Artem Malykh commented on IGNITE-5351: -- [~dmagda] Please, review document in the first comment. > Document K-means clustering algorithm > - > > Key: IGNITE-5351 > URL: https://issues.apache.org/jira/browse/IGNITE-5351 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Denis Magda >Assignee: Artem Malykh > Fix For: 2.1 > > > Someone should document K-means algorithm under the ML section on readme.io > pasting code snippets. I'll help to create new pages and rework the content > if needed. > Plus, it makes sense to add an example to the source code and refer to it > from the readme.io documentation. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-5278) BLAS implementation
[ https://issues.apache.org/jira/browse/IGNITE-5278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16028435#comment-16028435 ] Artem Malykh commented on IGNITE-5278: -- We have some problems here: the natural approach for this task is to delegate BLAS calls to any of existing BLAS libs. All BLAS libraries which I met during implementing this task (jBlas, netlib-java) require storing internal data for matrices flattened (i.e [row1, row2...rown] instead of [[row1], [row2], ... [rowN]]), therefore it seems that we have two options here: 1. Redesign storing; 2. keep storing, but do flatten array -> do blas call -> unflatten underlying arrays. If we take second approach, we do not get any boost (rather, we'll get slowdowns) in BLAS levels 1 and 2 for array based matrix impls. We still can get boost in BLAS level 3 calls. For first approach to be taken, separate research task need to be done. > BLAS implementation > --- > > Key: IGNITE-5278 > URL: https://issues.apache.org/jira/browse/IGNITE-5278 > Project: Ignite > Issue Type: Sub-task > Components: ml >Reporter: Yury Babak >Assignee: Artem Malykh > Fix For: 2.1 > > > We need BLAS implementation for local computations. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (IGNITE-5221) Investigate possibility of integrating with dl4j
Artem Malykh created IGNITE-5221: Summary: Investigate possibility of integrating with dl4j Key: IGNITE-5221 URL: https://issues.apache.org/jira/browse/IGNITE-5221 Project: Ignite Issue Type: Task Affects Versions: 2.1 Reporter: Artem Malykh Fix For: 2.1 Investigate if there is an easy possibility for integration of apache ignite with dl4j. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (IGNITE-5012) Implement ordinary least squares (OLS) linear regression.
[ https://issues.apache.org/jira/browse/IGNITE-5012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh updated IGNITE-5012: - Affects Version/s: (was: 2.0) 2.1 Fix Version/s: 2.1 > Implement ordinary least squares (OLS) linear regression. > - > > Key: IGNITE-5012 > URL: https://issues.apache.org/jira/browse/IGNITE-5012 > Project: Ignite > Issue Type: Task > Components: ml >Affects Versions: 2.1 >Reporter: Artem Malykh >Assignee: Artem Malykh > Fix For: 2.1 > > > Implement ordinary least squares (OLS) linear regression using ignite > ml.math. This is a useful, but simple basic machine learning algorithm which > is a good candidate for testing math implemented in ml module on real machine > learning tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (IGNITE-5102) Fix fold/map behavior for sparse matrices .
Artem Malykh created IGNITE-5102: Summary: Fix fold/map behavior for sparse matrices . Key: IGNITE-5102 URL: https://issues.apache.org/jira/browse/IGNITE-5102 Project: Ignite Issue Type: Bug Components: ml Reporter: Artem Malykh Assignee: Artem Malykh For now when doing 'map' and 'fold' over a sparse matrix, only non-default values are considered. This is bad because this is in conflict with semantics of 'fold' and 'map' for other matrix implementations. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (IGNITE-5012) Implement ordinary least squares (OLS) linear regression.
[ https://issues.apache.org/jira/browse/IGNITE-5012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Artem Malykh reassigned IGNITE-5012: Assignee: Artem Malykh > Implement ordinary least squares (OLS) linear regression. > - > > Key: IGNITE-5012 > URL: https://issues.apache.org/jira/browse/IGNITE-5012 > Project: Ignite > Issue Type: Task >Reporter: Artem Malykh >Assignee: Artem Malykh > > Implement ordinary least squares (OLS) linear regression using ignite > ml.math. This is a useful, but simple basic machine learning algorithm which > is a good candidate for testing math implemented in ml module on real machine > learning tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (IGNITE-5012) Implement ordinary least squares (OLS) linear regression.
Artem Malykh created IGNITE-5012: Summary: Implement ordinary least squares (OLS) linear regression. Key: IGNITE-5012 URL: https://issues.apache.org/jira/browse/IGNITE-5012 Project: Ignite Issue Type: Task Reporter: Artem Malykh Implement ordinary least squares (OLS) linear regression using ignite ml.math. This is a useful, but simple basic machine learning algorithm which is a good candidate for testing math implemented in ml module on real machine learning tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346)