Exemplo n.º 1
0
def test_yaml_save_load_roundtrip(extension):
    data = {'some': ['data']}
    with NamedTemporaryFile() as f:
        path = Path(f.name).with_suffix(extension)
        save_to_yaml(data, path)
        f.flush()
        data_deserialized = load_yaml(path)
    assert data == data_deserialized
Exemplo n.º 2
0
 def from_yaml(path: Pathlike) -> 'FeatureSet':
     data = load_yaml(path)
     return FeatureSet(
         feature_extractor=FeatureExtractor.from_dict(
             data['feature_extractor']),
         features=[
             Features(**feature_data) for feature_data in data['features']
         ],
     )
Exemplo n.º 3
0
def load_manifest(path: Pathlike) -> Manifest:
    """Generic utility for reading an arbitrary manifest."""
    raw_data = load_yaml(path)
    data_set = None
    for manifest_type in [RecordingSet, SupervisionSet, FeatureSet, CutSet]:
        try:
            data_set = manifest_type.from_dicts(raw_data)
        except Exception:
            pass
    if data_set is None:
        raise ValueError(f'Unknown type of manifest: {path}')
    return data_set
Exemplo n.º 4
0
    def from_yaml(path: Pathlike) -> 'CutSet':
        raw_cuts = load_yaml(path)

        def deserialize_one(raw_cut: dict) -> AnyCut:
            cut_type = raw_cut.pop('type')
            if cut_type == 'Cut':
                return Cut.from_dict(raw_cut)
            if cut_type == 'MixedCut':
                return MixedCut.from_dict(raw_cut)
            raise ValueError(
                f"Unexpected cut type during deserialization: '{cut_type}'")

        return CutSet.from_cuts(deserialize_one(cut) for cut in raw_cuts)
Exemplo n.º 5
0
 def from_yaml(cls, path: Pathlike) -> 'FeatureExtractor':
     return cls.from_dict(load_yaml(path))
Exemplo n.º 6
0
 def from_yaml(path: Pathlike) -> 'RecordingSet':
     raw_recordings = load_yaml(path)
     return RecordingSet.from_recordings(
         Recording.from_dict(raw_rec) for raw_rec in raw_recordings)
Exemplo n.º 7
0
 def from_yaml(path: Pathlike) -> 'SupervisionSet':
     raw_segments = load_yaml(path)
     return SupervisionSet.from_segments(
         SupervisionSegment.from_dict(s) for s in raw_segments)