espnet3.contract.data.check_item
Less than 1 minute
espnet3.contract.data.check_item
espnet3.contract.data.check_item(fields: Tuple[Field, ...], item: Any, where: str) → None
Raise unless item has every declared field, each holding its kind.
- Parameters:
- fields – The declared item fields.
- item – One dataset sample, taken from the recipe’s own
__getitem__, before any transform or preprocessor. - where – Where
itemcame from, for the error.
- Returns: None.
- Raises:DatasetContractError –
itemis not a mapping, lacks a required declared field, or a field’s value does not match its kind. An undeclared extra key is not an error.
Examples
>>> import numpy as np
>>> fields = (Field("speech", "audio"), Field("text", "text"))
>>> item = {"speech": np.zeros(16000, dtype=np.float32), "text": "hi"}
>>> check_item(fields, item, "train[0]")
>>> check_item(fields, {"speech": item["speech"]}, "train[0]")
Traceback (most recent call last):
espnet3.contract.data.DatasetContractError: train[0]: ...