Commit 205a9ff4 authored by Yuxin Wu's avatar Yuxin Wu

Add datafromiterable

parent 6afeb544
......@@ -10,7 +10,7 @@ from six.moves import range
from .base import DataFlow, RNGDataFlow
from ..utils.develop import log_deprecated
__all__ = ['FakeData', 'DataFromQueue', 'DataFromList', 'DataFromGenerator']
__all__ = ['FakeData', 'DataFromQueue', 'DataFromList', 'DataFromGenerator', 'DataFromIterable']
class FakeData(RNGDataFlow):
......@@ -70,7 +70,7 @@ class DataFromQueue(DataFlow):
class DataFromList(RNGDataFlow):
""" Produce data from a list"""
""" Wrap a list of datapoitns to a DataFlow"""
def __init__(self, lst, shuffle=True):
"""
......@@ -116,3 +116,21 @@ class DataFromGenerator(DataFlow):
# yield from
for dp in self._gen():
yield dp
class DataFromIterable(DataFlow):
""" Wrap an iterable of datapoitns to a DataFlow"""
def __init__(self, iterable):
"""
Args:
iterable: an iterable object with length
"""
self._itr = self.iterable
self._len = len(iterable)
def size(self):
return self._len
def get_data(self):
for dp in self._itr:
yield dp
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment