Hdf5Sample: Return None for non-existing keys

This commit is contained in:
2021-07-27 10:49:30 -05:00
parent a0f8bf15d6
commit 6c98986675
2 changed files with 13 additions and 0 deletions

View File

@@ -170,12 +170,16 @@ class Hdf5Sample(Sample):
@overrides
def get_bytes(self, key: str) -> Optional[bytes]:
if key not in self.file:
return None
ds = self.file[key]
assert len(ds.shape) == 1
return ds[()].tobytes()
@overrides
def get_scalar(self, key: str) -> Optional[Any]:
if key not in self.file:
return None
ds = self.file[key]
assert len(ds.shape) == 0
if h5py.check_string_dtype(ds.dtype):
@@ -185,6 +189,8 @@ class Hdf5Sample(Sample):
@overrides
def get_vector(self, key: str) -> Optional[Any]:
if key not in self.file:
return None
ds = self.file[key]
assert len(ds.shape) == 1
print(ds.dtype)
@@ -197,6 +203,8 @@ class Hdf5Sample(Sample):
@overrides
def get_vector_list(self, key: str) -> Optional[Any]:
if key not in self.file:
return None
ds = self.file[key]
lens = ds.attrs["lengths"]
if h5py.check_string_dtype(ds.dtype):