def test_cut_load_array_truncate(): """Check that loading a custom Array works after truncation.""" ivector = np.arange(20).astype(np.float32) with NamedTemporaryFile(suffix=".h5") as f, LilcomHdf5Writer(f.name) as writer: cut = MonoCut(id="x", start=0, duration=5, channel=0) cut.ivector = writer.store_array(key="utt1", value=ivector) cut = cut.truncate(duration=3) restored_ivector = cut.load_ivector() np.testing.assert_equal(ivector, restored_ivector)
def test_cut_load_array(): """Check that a custom Array attribute is successfully recognized.""" ivector = np.arange(20).astype(np.float32) with NamedTemporaryFile(suffix=".h5") as f, LilcomHdf5Writer(f.name) as writer: manifest = writer.store_array(key="utt1", value=ivector) cut = MonoCut(id="x", start=0, duration=5, channel=0) # Note: MonoCut doesn't normally have an "ivector" attribute, # and a "load_ivector()" method. # We are dynamically extending it. cut.ivector = manifest restored_ivector = cut.load_ivector() np.testing.assert_equal(ivector, restored_ivector)
def test_cut_custom_attr_serialization(): """Check that a custom Array attribute is successfully serialized + deserialized.""" ivector = np.arange(20).astype(np.float32) with NamedTemporaryFile(suffix=".h5") as f, LilcomHdf5Writer(f.name) as writer: cut = MonoCut(id="x", start=0, duration=5, channel=0) cut.ivector = writer.store_array(key="utt1", value=ivector) data = cut.to_dict() restored_cut = deserialize_item(data) assert cut == restored_cut restored_ivector = restored_cut.load_ivector() np.testing.assert_equal(ivector, restored_ivector)