Class JointMultiDataSetIterator
- java.lang.Object
-
- org.deeplearning4j.datasets.iterator.JointMultiDataSetIterator
-
- All Implemented Interfaces:
Serializable,Iterator<MultiDataSet>,MultiDataSetIterator
public class JointMultiDataSetIterator extends Object implements MultiDataSetIterator
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Collection<DataSetIterator>iteratorsprotected intoutcomeprotected MultiDataSetPreProcessorpreProcessor
-
Constructor Summary
Constructors Constructor Description JointMultiDataSetIterator(int outcome, DataSetIterator... iterators)JointMultiDataSetIterator(DataSetIterator... iterators)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanasyncSupported()Does this MultiDataSetIterator support asynchronous prefetching of multiple MultiDataSet objects? Most MultiDataSetIterators do, but in some cases it may not make sense to wrap this iterator in an iterator that does asynchronous prefetching.MultiDataSetPreProcessorgetPreProcessor()Get theMultiDataSetPreProcessor, if one has previously been set.booleanhasNext()Returnstrueif the iteration has more elements.MultiDataSetnext()Returns the next element in the iteration.MultiDataSetnext(int num)Fetch the next 'num' examples.voidremove()PLEASE NOTE: This method is NOT implementedvoidreset()Resets the iterator back to the beginningbooleanresetSupported()Is resetting supported by this DataSetIterator? Many DataSetIterators do support resetting, but some don'tvoidsetPreProcessor(MultiDataSetPreProcessor preProcessor)Set the preprocessor to be applied to each MultiDataSet, before each MultiDataSet is returned.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
preProcessor
protected MultiDataSetPreProcessor preProcessor
-
iterators
protected Collection<DataSetIterator> iterators
-
outcome
protected int outcome
-
-
Constructor Detail
-
JointMultiDataSetIterator
public JointMultiDataSetIterator(DataSetIterator... iterators)
- Parameters:
iterators- Underlying iterators to wrap
-
JointMultiDataSetIterator
public JointMultiDataSetIterator(int outcome, DataSetIterator... iterators)- Parameters:
outcome- Index to get the label from. If < 0, labels from all iterators will be used to create the final MultiDataSetiterators- Underlying iterators to wrap
-
-
Method Detail
-
next
public MultiDataSet next(int num)
Fetch the next 'num' examples. Similar to the next method, but returns a specified number of examples- Specified by:
nextin interfaceMultiDataSetIterator- Parameters:
num- Number of examples to fetch
-
setPreProcessor
public void setPreProcessor(MultiDataSetPreProcessor preProcessor)
Set the preprocessor to be applied to each MultiDataSet, before each MultiDataSet is returned.- Specified by:
setPreProcessorin interfaceMultiDataSetIterator- Parameters:
preProcessor- MultiDataSetPreProcessor. May be null.
-
getPreProcessor
public MultiDataSetPreProcessor getPreProcessor()
Get theMultiDataSetPreProcessor, if one has previously been set. Returns null if no preprocessor has been set- Specified by:
getPreProcessorin interfaceMultiDataSetIterator- Returns:
- Preprocessor
-
resetSupported
public boolean resetSupported()
Is resetting supported by this DataSetIterator? Many DataSetIterators do support resetting, but some don't- Specified by:
resetSupportedin interfaceMultiDataSetIterator- Returns:
- true if reset method is supported; false otherwise
-
asyncSupported
public boolean asyncSupported()
Does this MultiDataSetIterator support asynchronous prefetching of multiple MultiDataSet objects? Most MultiDataSetIterators do, but in some cases it may not make sense to wrap this iterator in an iterator that does asynchronous prefetching. For example, it would not make sense to use asynchronous prefetching for the following types of iterators: (a) Iterators that store their full contents in memory already (b) Iterators that re-use features/labels arrays (as future next() calls will overwrite past contents) (c) Iterators that already implement some level of asynchronous prefetching (d) Iterators that may return different data depending on when the next() method is called- Specified by:
asyncSupportedin interfaceMultiDataSetIterator- Returns:
- true if asynchronous prefetching from this iterator is OK; false if asynchronous prefetching should not be used with this iterator
-
reset
public void reset()
Resets the iterator back to the beginning- Specified by:
resetin interfaceMultiDataSetIterator
-
hasNext
public boolean hasNext()
Returnstrueif the iteration has more elements. (In other words, returnstrueifnext(int)would return an element rather than throwing an exception.)- Specified by:
hasNextin interfaceIterator<MultiDataSet>- Returns:
trueif the iteration has more elements
-
next
public MultiDataSet next()
Returns the next element in the iteration.- Specified by:
nextin interfaceIterator<MultiDataSet>- Returns:
- the next element in the iteration
-
remove
public void remove()
PLEASE NOTE: This method is NOT implemented- Specified by:
removein interfaceIterator<MultiDataSet>- Throws:
UnsupportedOperationException- if theremoveoperation is not supported by this iteratorIllegalStateException- if thenextmethod has not yet been called, or theremovemethod has already been called after the last call to thenextmethod
-
-