blob: d2d83c060296183a0d01355c1739c5660bfb1b01 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.4.0/javadoc/org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (1.8.0_77) on Mon Mar 05 10:43:20 UTC 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MetaoptimizerGroupTrainer (Ignite 2.4.0)</title>
<meta name="date" content="2018-03-05">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MetaoptimizerGroupTrainer (Ignite 2.4.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":10,"i8":6,"i9":6,"i10":10,"i11":6,"i12":10,"i13":6,"i14":10,"i15":10,"i16":10,"i17":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MetaoptimizerGroupTrainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/ml/trainers/group/Metaoptimizer.html" title="interface in org.apache.ignite.ml.trainers.group"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" target="_top">Frames</a></li>
<li><a href="MetaoptimizerGroupTrainer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.ml.trainers.group</div>
<h2 title="Class MetaoptimizerGroupTrainer" class="title">Class MetaoptimizerGroupTrainer&lt;LC extends <a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/HasTrainingUUID.html" title="interface in org.apache.ignite.ml.trainers.group.chain">HasTrainingUUID</a>,K,V,IN extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,R extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,I extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,M extends <a href="../../../../../../org/apache/ignite/ml/Model.html" title="interface in org.apache.ignite.ml">Model</a>,T extends <a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerInput.html" title="interface in org.apache.ignite.ml.trainers.group">GroupTrainerInput</a>&lt;K&gt;,G,O extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,X,Y&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.ml.trainers.group.MetaoptimizerGroupTrainer&lt;LC,K,V,IN,R,I,M,T,G,O,X,Y&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>LC</code> - Type of local context.</dd>
<dd><code>K</code> - Type of data in <a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group"><code>GroupTrainerCacheKey</code></a> keys on which the training is done.</dd>
<dd><code>V</code> - Type of values of cache used in group training.</dd>
<dd><code>IN</code> - Data type which is returned by distributed initializer.</dd>
<dd><code>R</code> - Type of final result returned by nodes on which training is done.</dd>
<dd><code>I</code> - Type of data which is fed into each training loop step and returned from it.</dd>
<dd><code>M</code> - Type of model returned after training.</dd>
<dd><code>T</code> - Type of input of this trainer.</dd>
<dd><code>G</code> - Type of distributed context which is needed for forming final result which is send from each node to trainer for final model creation.</dd>
<dd><code>O</code> - Type of output of postprocessor.</dd>
<dd><code>X</code> - Type of data which is processed by dataProcessor.</dd>
<dd><code>Y</code> - Type of data which is returned by postprocessor.</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/ignite/ml/trainers/Trainer.html" title="interface in org.apache.ignite.ml.trainers">Trainer</a>&lt;M,T&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/ignite/ml/nn/trainers/distributed/MLPGroupUpdateTrainer.html" title="class in org.apache.ignite.ml.nn.trainers.distributed">MLPGroupUpdateTrainer</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">MetaoptimizerGroupTrainer&lt;LC extends <a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/HasTrainingUUID.html" title="interface in org.apache.ignite.ml.trainers.group.chain">HasTrainingUUID</a>,K,V,IN extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,R extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,I extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,M extends <a href="../../../../../../org/apache/ignite/ml/Model.html" title="interface in org.apache.ignite.ml">Model</a>,T extends <a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerInput.html" title="interface in org.apache.ignite.ml.trainers.group">GroupTrainerInput</a>&lt;K&gt;,G,O extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>,X,Y&gt;</span>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Group trainer using <a href="../../../../../../org/apache/ignite/ml/trainers/group/Metaoptimizer.html" title="interface in org.apache.ignite.ml.trainers.group"><code>Metaoptimizer</code></a>.
Main purpose of this trainer is to extract various transformations (normalizations for example) of data which is processed
in the training loop step into distinct entity called metaoptimizer and only fix the main part of logic in
trainers extending this class. This way we'll be able to quickly switch between this transformations by using different metaoptimizers
without touching main logic.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#cache">cache</a></span></code>
<div class="block">Cache on which training is performed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#ignite">ignite</a></span></code>
<div class="block">Ignite instance.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#MetaoptimizerGroupTrainer-org.apache.ignite.ml.trainers.group.Metaoptimizer-org.apache.ignite.IgniteCache-org.apache.ignite.Ignite-">MetaoptimizerGroupTrainer</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/Metaoptimizer.html" title="interface in org.apache.ignite.ml.trainers.group">Metaoptimizer</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">Y</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">O</a>&gt;&nbsp;metaoptimizer,
<a href="../../../../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>&gt;&nbsp;cache,
<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a>&nbsp;ignite)</code>
<div class="block">Construct instance of this class.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#cleanup-LC-">cleanup</a></span>(LC&nbsp;locCtx)</code>
<div class="block">Performs cleanups of temporary objects created by this trainer.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">Y</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#dataProcessor--">dataProcessor</a></span>()</code>
<div class="block">Get function used to process data in training loop step.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;IN&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#distributedInitializer-T-">distributedInitializer</a></span>(T&nbsp;data)</code>
<div class="block">Get function for initialization for each of keys specified in initial key set.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;G&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#extractContextForFinalResultCreation-I-LC-">extractContextForFinalResultCreation</a></span>(I&nbsp;data,
LC&nbsp;locCtx)</code>
<div class="block">Extract context for final result creation.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#finalResultKeys-I-LC-">finalResultKeys</a></span>(I&nbsp;data,
LC&nbsp;locCtx)</code>
<div class="block">Keys for final result creation.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/EntryAndContext.html" title="class in org.apache.ignite.ml.trainers.group.chain">EntryAndContext</a>&lt;K,V,G&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;R&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#finalResultsExtractor--">finalResultsExtractor</a></span>()</code>
<div class="block">Get function for extracting final result from each key specified in finalResultKeys.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;R&gt;,R&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#finalResultsReducer--">finalResultsReducer</a></span>()</code>
<div class="block">Get function for reducing final results.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#init-T-java.util.UUID-">init</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">T</a>&nbsp;data,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;trainingUUID)</code>
<div class="block">Override in subclasses if needed.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected abstract LC</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#initialLocalContext-T-java.util.UUID-">initialLocalContext</a></span>(T&nbsp;data,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;trainingUUID)</code>
<div class="block">Create initial local context from data given as input to trainer.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#keysToProcessInTrainingLoop-LC-">keysToProcessInTrainingLoop</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</code>
<div class="block">Get supplier of keys which should be processed by training loop.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#locallyProcessInitData-IN-LC-">locallyProcessInitData</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&nbsp;data,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</code>
<div class="block">Transform data from initialization step into data which is fed as input to first step of training loop.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected abstract M</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#mapFinalResult-R-LC-">mapFinalResult</a></span>(R&nbsp;res,
LC&nbsp;locCtx)</code>
<div class="block">Map final result to model which is returned by trainer.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#reduceDistributedInitData--">reduceDistributedInitData</a></span>()</code>
<div class="block">Get reducer to reduce data collected from initialization of each key specified in initial key set.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">G</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#remoteContextExtractor-I-LC-">remoteContextExtractor</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&nbsp;input,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;ctx)</code>
<div class="block">Get supplier of context used in training loop step.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#shouldContinue-I-LC-">shouldContinue</a></span>(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&nbsp;data,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</code>
<div class="block">Condition specifying if training loop should continue.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>M</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#train-T-">train</a></span>(T&nbsp;data)</code>
<div class="block">Train the model based on provided data.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/ComputationsChain.html" title="interface in org.apache.ignite.ml.trainers.group.chain">ComputationsChain</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#trainingLoopStep--">trainingLoopStep</a></span>()</code>
<div class="block">Training loop step.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/EntryAndContext.html" title="class in org.apache.ignite.ml.trainers.group.chain">EntryAndContext</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">G</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html#trainingLoopStepDataExtractor--">trainingLoopStepDataExtractor</a></span>()</code>
<div class="block">Get function used to map EntryAndContext to type which is processed by dataProcessor.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="cache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cache</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;,V&gt; cache</pre>
<div class="block">Cache on which training is performed. For example it can be cache of neural networks.</div>
</li>
</ul>
<a name="ignite">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ignite</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a> ignite</pre>
<div class="block">Ignite instance.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MetaoptimizerGroupTrainer-org.apache.ignite.ml.trainers.group.Metaoptimizer-org.apache.ignite.IgniteCache-org.apache.ignite.Ignite-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MetaoptimizerGroupTrainer</h4>
<pre>public&nbsp;MetaoptimizerGroupTrainer(<a href="../../../../../../org/apache/ignite/ml/trainers/group/Metaoptimizer.html" title="interface in org.apache.ignite.ml.trainers.group">Metaoptimizer</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">Y</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">O</a>&gt;&nbsp;metaoptimizer,
<a href="../../../../../../org/apache/ignite/IgniteCache.html" title="interface in org.apache.ignite">IgniteCache</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>&gt;&nbsp;cache,
<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a>&nbsp;ignite)</pre>
<div class="block">Construct instance of this class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cache</code> - Cache on which group trainer is done.</dd>
<dd><code>ignite</code> - Ignite instance.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="trainingLoopStepDataExtractor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trainingLoopStepDataExtractor</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/EntryAndContext.html" title="class in org.apache.ignite.ml.trainers.group.chain">EntryAndContext</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">G</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>&gt;&nbsp;trainingLoopStepDataExtractor()</pre>
<div class="block">Get function used to map EntryAndContext to type which is processed by dataProcessor.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function used to map EntryAndContext to type which is processed by dataProcessor.</dd>
</dl>
</li>
</ul>
<a name="keysToProcessInTrainingLoop-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="keysToProcessInTrainingLoop-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keysToProcessInTrainingLoop</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>&gt;&gt;&gt;&nbsp;keysToProcessInTrainingLoop(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</pre>
<div class="block">Get supplier of keys which should be processed by training loop.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locCtx</code> - Local text.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Supplier of keys which should be processed by training loop.</dd>
</dl>
</li>
</ul>
<a name="remoteContextExtractor-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="remoteContextExtractor-I-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteContextExtractor</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">G</a>&gt;&nbsp;remoteContextExtractor(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&nbsp;input,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;ctx)</pre>
<div class="block">Get supplier of context used in training loop step.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>input</code> - Input.</dd>
<dd><code>ctx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Supplier of context used in training loop step.</dd>
</dl>
</li>
</ul>
<a name="init-org.apache.ignite.ml.trainers.group.GroupTrainerInput-java.util.UUID-">
<!-- -->
</a><a name="init-T-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>protected&nbsp;void&nbsp;init(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">T</a>&nbsp;data,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;trainingUUID)</pre>
<div class="block">Override in subclasses if needed.</div>
</li>
</ul>
<a name="dataProcessor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataProcessor</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">X</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">Y</a>&gt;&gt;&nbsp;dataProcessor()</pre>
<div class="block">Get function used to process data in training loop step.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function used to process data in training loop step.</dd>
</dl>
</li>
</ul>
<a name="trainingLoopStep--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trainingLoopStep</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/ComputationsChain.html" title="interface in org.apache.ignite.ml.trainers.group.chain">ComputationsChain</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">K</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">V</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&gt;&nbsp;trainingLoopStep()</pre>
<div class="block">Training loop step.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result of training loop step.</dd>
</dl>
</li>
</ul>
<a name="locallyProcessInitData-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="locallyProcessInitData-IN-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locallyProcessInitData</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&nbsp;locallyProcessInitData(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&nbsp;data,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</pre>
<div class="block">Transform data from initialization step into data which is fed as input to first step of training loop.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data from initialization step.</dd>
<dd><code>locCtx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Data which is fed as input to first step of training loop.</dd>
</dl>
</li>
</ul>
<a name="shouldContinue-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="shouldContinue-I-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldContinue</h4>
<pre>protected&nbsp;boolean&nbsp;shouldContinue(<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">I</a>&nbsp;data,
<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">LC</a>&nbsp;locCtx)</pre>
<div class="block">Condition specifying if training loop should continue.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - First time, data returned by locallyProcessInitData then data returned by last step of loop.</dd>
<dd><code>locCtx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Boolean value indicating if training loop should continue.</dd>
</dl>
</li>
</ul>
<a name="reduceDistributedInitData--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reduceDistributedInitData</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" title="type parameter in MetaoptimizerGroupTrainer">IN</a>&gt;&nbsp;reduceDistributedInitData()</pre>
<div class="block">Get reducer to reduce data collected from initialization of each key specified in initial key set.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Reducer to reduce data collected from initialization of each key specified in initial key set.</dd>
</dl>
</li>
</ul>
<a name="train-org.apache.ignite.ml.trainers.group.GroupTrainerInput-">
<!-- -->
</a><a name="train-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>train</h4>
<pre>public final&nbsp;M&nbsp;train(T&nbsp;data)</pre>
<div class="block">Train the model based on provided data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/ml/trainers/Trainer.html#train-T-">train</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/ml/trainers/Trainer.html" title="interface in org.apache.ignite.ml.trainers">Trainer</a>&lt;M extends <a href="../../../../../../org/apache/ignite/ml/Model.html" title="interface in org.apache.ignite.ml">Model</a>,T extends <a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerInput.html" title="interface in org.apache.ignite.ml.trainers.group">GroupTrainerInput</a>&lt;K&gt;&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data for training.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Trained model.</dd>
</dl>
</li>
</ul>
<a name="initialLocalContext-org.apache.ignite.ml.trainers.group.GroupTrainerInput-java.util.UUID-">
<!-- -->
</a><a name="initialLocalContext-T-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialLocalContext</h4>
<pre>protected abstract&nbsp;LC&nbsp;initialLocalContext(T&nbsp;data,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;trainingUUID)</pre>
<div class="block">Create initial local context from data given as input to trainer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data given as input to this trainer.</dd>
<dd><code>trainingUUID</code> - UUID of this training.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Initial local context.</dd>
</dl>
</li>
</ul>
<a name="distributedInitializer-org.apache.ignite.ml.trainers.group.GroupTrainerInput-">
<!-- -->
</a><a name="distributedInitializer-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distributedInitializer</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;IN&gt;&gt;&nbsp;distributedInitializer(T&nbsp;data)</pre>
<div class="block">Get function for initialization for each of keys specified in initial key set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data given to this trainer as input.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function for initialization for each of keys specified in initial key set.</dd>
</dl>
</li>
</ul>
<a name="extractContextForFinalResultCreation-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="extractContextForFinalResultCreation-I-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractContextForFinalResultCreation</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;G&gt;&nbsp;extractContextForFinalResultCreation(I&nbsp;data,
LC&nbsp;locCtx)</pre>
<div class="block">Extract context for final result creation. Each key from the final keys set will be processed with
finalResultsExtractor. While entry data (i.e. key and value) for each key varies, some data can be common for all
processed entries. This data is called context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data returned from last training loop step.</dd>
<dd><code>locCtx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Context.</dd>
</dl>
</li>
</ul>
<a name="finalResultKeys-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="finalResultKeys-I-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalResultKeys</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteSupplier.html" title="interface in org.apache.ignite.ml.math.functions">IgniteSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/GroupTrainerCacheKey.html" title="class in org.apache.ignite.ml.trainers.group">GroupTrainerCacheKey</a>&lt;K&gt;&gt;&gt;&nbsp;finalResultKeys(I&nbsp;data,
LC&nbsp;locCtx)</pre>
<div class="block">Keys for final result creation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - Data returned from the last training loop step.</dd>
<dd><code>locCtx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Stream of keys for final result creation.</dd>
</dl>
</li>
</ul>
<a name="finalResultsExtractor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalResultsExtractor</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="../../../../../../org/apache/ignite/ml/trainers/group/chain/EntryAndContext.html" title="class in org.apache.ignite.ml.trainers.group.chain">EntryAndContext</a>&lt;K,V,G&gt;,<a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group">ResultAndUpdates</a>&lt;R&gt;&gt;&nbsp;finalResultsExtractor()</pre>
<div class="block">Get function for extracting final result from each key specified in finalResultKeys.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function for extracting final result from each key specified in finalResultKeys.</dd>
</dl>
</li>
</ul>
<a name="finalResultsReducer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalResultsReducer</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../org/apache/ignite/ml/math/functions/IgniteFunction.html" title="interface in org.apache.ignite.ml.math.functions">IgniteFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;R&gt;,R&gt;&nbsp;finalResultsReducer()</pre>
<div class="block">Get function for reducing final results.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function for reducing final results.</dd>
</dl>
</li>
</ul>
<a name="mapFinalResult-java.io.Serializable-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="mapFinalResult-R-LC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapFinalResult</h4>
<pre>protected abstract&nbsp;M&nbsp;mapFinalResult(R&nbsp;res,
LC&nbsp;locCtx)</pre>
<div class="block">Map final result to model which is returned by trainer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>res</code> - Final result.</dd>
<dd><code>locCtx</code> - Local context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Model resulted from training.</dd>
</dl>
</li>
</ul>
<a name="cleanup-org.apache.ignite.ml.trainers.group.chain.HasTrainingUUID-">
<!-- -->
</a><a name="cleanup-LC-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cleanup</h4>
<pre>protected abstract&nbsp;void&nbsp;cleanup(LC&nbsp;locCtx)</pre>
<div class="block">Performs cleanups of temporary objects created by this trainer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locCtx</code> - Local context.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MetaoptimizerGroupTrainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/ml/trainers/group/Metaoptimizer.html" title="interface in org.apache.ignite.ml.trainers.group"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/ml/trainers/group/ResultAndUpdates.html" title="class in org.apache.ignite.ml.trainers.group"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/ml/trainers/group/MetaoptimizerGroupTrainer.html" target="_top">Frames</a></li>
<li><a href="MetaoptimizerGroupTrainer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2018 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.4.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; March 5 2018 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>