@@ -16,9 +16,9 @@ Indeed, *data reader* doesn't have to be a function that reads and yields data i
...
@@ -16,9 +16,9 @@ Indeed, *data reader* doesn't have to be a function that reads and yields data i
iterable = data_reader()
iterable = data_reader()
```
```
Element produced for the iterable should be a **single** entry of data, **not** a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of [supported type](http://www.paddlepaddle.org/doc/ui/data_provider/pydataprovider2.html?highlight=dense_vector#input-types)(e.g., numpy 1d array of float32, int, list of int)
Element produced from the iterable should be a **single** entry of data, **not** a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of [supported type](http://www.paddlepaddle.org/doc/ui/data_provider/pydataprovider2.html?highlight=dense_vector#input-types)(e.g., numpy 1d array of float32, int, list of int)
An example implementation for single item data reader:
An example implementation for single item data reader creator:
@@ -118,7 +118,7 @@ Practically, always return a single entry make reusing existing data readers muc
...
@@ -118,7 +118,7 @@ Practically, always return a single entry make reusing existing data readers muc
We decided to use dictionary (`{"image":0, "label":1}`) instead of list (`["image", "label"]`) is because that user can easily resue item (e.g., using `{"image_a":0, "image_b":0, "label":1}`) or skip item (e.g., using `{"image_a":0, "label":2}`).
We decided to use dictionary (`{"image":0, "label":1}`) instead of list (`["image", "label"]`) is because that user can easily resue item (e.g., using `{"image_a":0, "image_b":0, "label":1}`) or skip item (e.g., using `{"image_a":0, "label":2}`).