roverd.channels.utils
¶
Channel utilities and types.
roverd.channels.utils.Data
module-attribute
¶
Generic writable data.
Should generally behave as follows:
- If
Shaped[np.ndarray, "..."]
, the shape and dtype are assumed to have semantic meaning, and are verified. - If
bytes
orbytearray
, we assume that the caller has already done any necessary binary conversion. No type or shape verification is performed.
roverd.channels.utils.Streamable
module-attribute
¶
Any stream-like container.
roverd.channels.utils.Buffer
¶
Bases: Generic[T]
Simple queue buffer (i.e. queue to iterator) with batching.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
queue
|
Queue[T]
|
queue to use as a buffer. Should return |
required |
Source code in format/src/roverd/channels/utils.py
roverd.channels.utils.Prefetch
¶
Bases: Buffer
Simple prefetch queue wrapper (i.e. iterator to queue).
Can be used as a prefetched iterator (for x in Prefetch(...)
), or as a
queue (Prefetch(...).queue
). When used as a queue, None
is put in the
queue to indicate that the iterator has terminated.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iterator
|
Iterable[T] | Iterator[T]
|
any python iterator; must never yield |
required |
size
|
int
|
prefetch buffer size. |
64
|
Source code in format/src/roverd/channels/utils.py
roverd.channels.utils.batch_iterator
¶
Convert an iterator into a batched version.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iterator
|
Iterator[T] | Iterable[T]
|
input iterator/iterable. |
required |
size
|
int
|
batch size. |
8
|