[jira] [Reopened] (IGNITE-5221) Investigate possibility of integrating with dl4j

2019-04-05 Thread Artem Malykh (JIRA)


 [ 
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)

2019-02-20 Thread Artem Malykh (JIRA)


 [ 
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

2019-02-13 Thread Artem Malykh (JIRA)
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

2019-02-04 Thread Artem Malykh (JIRA)
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

2019-01-29 Thread Artem Malykh (JIRA)


[ 
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

2019-01-29 Thread Artem Malykh (JIRA)


 [ 
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

2019-01-29 Thread Artem Malykh (JIRA)


[ 
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

2019-01-29 Thread Artem Malykh (JIRA)


[ 
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

2019-01-29 Thread Artem Malykh (JIRA)


[ 
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

2019-01-29 Thread Artem Malykh (JIRA)
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

2019-01-16 Thread Artem Malykh (JIRA)
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

2019-01-15 Thread Artem Malykh (JIRA)


 [ 
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.

2018-12-28 Thread Artem Malykh (JIRA)
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

2018-12-17 Thread Artem Malykh (JIRA)


 [ 
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

2018-12-17 Thread Artem Malykh (JIRA)
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

2018-12-14 Thread Artem Malykh (JIRA)


 [ 
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

2018-12-12 Thread Artem Malykh (JIRA)
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.

2018-12-07 Thread Artem Malykh (JIRA)
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

2018-12-05 Thread Artem Malykh (JIRA)


 [ 
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

2018-12-05 Thread Artem Malykh (JIRA)
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

2018-12-04 Thread Artem Malykh (JIRA)


 [ 
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

2018-12-04 Thread Artem Malykh (JIRA)
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

2018-11-29 Thread Artem Malykh (JIRA)


[ 
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

2018-11-29 Thread Artem Malykh (JIRA)


[ 
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

2018-11-29 Thread Artem Malykh (JIRA)


[ 
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

2018-11-29 Thread Artem Malykh (JIRA)


 [ 
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

2018-11-28 Thread Artem Malykh (JIRA)


[ 
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.

2018-11-28 Thread Artem Malykh (JIRA)
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.

2018-11-16 Thread Artem Malykh (JIRA)
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

2018-11-16 Thread Artem Malykh (JIRA)
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

2018-11-15 Thread Artem Malykh (JIRA)
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

2018-11-06 Thread Artem Malykh (JIRA)
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

2018-09-24 Thread Artem Malykh (JIRA)


 [ 
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

2018-06-01 Thread Artem Malykh (JIRA)


 [ 
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

2018-01-31 Thread Artem Malykh (JIRA)
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

2018-01-31 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-24 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-24 Thread Artem Malykh (JIRA)

[ 
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

2018-01-24 Thread Artem Malykh (JIRA)

[ 
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

2018-01-24 Thread Artem Malykh (JIRA)

 [ 
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.

2018-01-17 Thread Artem Malykh (JIRA)

 [ 
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.

2018-01-17 Thread Artem Malykh (JIRA)
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

2018-01-16 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-16 Thread Artem Malykh (JIRA)

 [ 
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/

2018-01-15 Thread Artem Malykh (JIRA)
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

2018-01-15 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-15 Thread Artem Malykh (JIRA)
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

2018-01-15 Thread Artem Malykh (JIRA)
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

2018-01-12 Thread Artem Malykh (JIRA)
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

2018-01-12 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-12 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-12 Thread Artem Malykh (JIRA)

 [ 
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

2018-01-12 Thread Artem Malykh (JIRA)
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

2018-01-10 Thread Artem Malykh (JIRA)
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

2018-01-09 Thread Artem Malykh (JIRA)
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

2017-12-27 Thread Artem Malykh (JIRA)
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

2017-12-22 Thread Artem Malykh (JIRA)

 [ 
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.

2017-12-09 Thread Artem Malykh (JIRA)
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

2017-12-07 Thread Artem Malykh (JIRA)
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

2017-12-06 Thread Artem Malykh (JIRA)
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

2017-11-23 Thread Artem Malykh (JIRA)

 [ 
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

2017-11-23 Thread Artem Malykh (JIRA)
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.

2017-11-10 Thread Artem Malykh (JIRA)
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

2017-11-10 Thread Artem Malykh (JIRA)
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

2017-11-09 Thread Artem Malykh (JIRA)

 [ 
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.

2017-10-27 Thread Artem Malykh (JIRA)
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

2017-08-23 Thread Artem Malykh (JIRA)

[ 
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

2017-08-18 Thread Artem Malykh (JIRA)

[ 
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

2017-08-07 Thread Artem Malykh (JIRA)

[ 
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.

2017-08-01 Thread Artem Malykh (JIRA)
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

2017-08-01 Thread Artem Malykh (JIRA)
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

2017-08-01 Thread Artem Malykh (JIRA)
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

2017-07-31 Thread Artem Malykh (JIRA)

[ 
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

2017-07-25 Thread Artem Malykh (JIRA)

[ 
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

2017-07-10 Thread Artem Malykh (JIRA)

 [ 
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

2017-07-10 Thread Artem Malykh (JIRA)

[ 
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

2017-07-10 Thread Artem Malykh (JIRA)

[ 
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

2017-07-10 Thread Artem Malykh (JIRA)

 [ 
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

2017-07-10 Thread Artem Malykh (JIRA)

[ 
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

2017-07-10 Thread Artem Malykh (JIRA)

 [ 
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

2017-07-05 Thread Artem Malykh (JIRA)

 [ 
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 .

2017-07-04 Thread Artem Malykh (JIRA)

 [ 
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

2017-07-04 Thread Artem Malykh (JIRA)
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

2017-06-15 Thread Artem Malykh (JIRA)

 [ 
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

2017-06-15 Thread Artem Malykh (JIRA)

[ 
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

2017-06-13 Thread Artem Malykh (JIRA)

[ 
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

2017-05-29 Thread Artem Malykh (JIRA)

[ 
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

2017-05-15 Thread Artem Malykh (JIRA)
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.

2017-04-27 Thread Artem Malykh (JIRA)

 [ 
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 .

2017-04-27 Thread Artem Malykh (JIRA)
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.

2017-04-18 Thread Artem Malykh (JIRA)

 [ 
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.

2017-04-18 Thread Artem Malykh (JIRA)
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)