Spaces:
Runtime error
Runtime error
import os, sys | |
from libs import * | |
class ECGDataset(torch.utils.data.Dataset): | |
def __init__(self, | |
df_path, data_path, | |
config, | |
augment = False, | |
): | |
self.df_path, self.data_path, = df_path, data_path, | |
self.df = pandas.read_csv(self.df_path) | |
self.config = config | |
self.augment = augment | |
def __len__(self, | |
): | |
return len(self.df) | |
def __getitem__(self, | |
index, | |
): | |
row = self.df.iloc[index] | |
# save np.load | |
np_load_old = np.load | |
# modify the default parameters of np.load | |
np.load = lambda *a,**k: np_load_old(*a, allow_pickle=True, **k) | |
# call load_data with allow_pickle implicitly set to true | |
ecg = np.load("{}/{}.npy".format(self.data_path, row["id"]))[self.config["ecg_leads"], :] | |
# restore np.load for future normal usage | |
np.load = np_load_old | |
ecg = pad_sequences(ecg, self.config["ecg_length"], "float64", | |
"post", "post", | |
) | |
if self.augment: | |
ecg = self.drop_lead(ecg) | |
ecg = torch.tensor(ecg).float() | |
return ecg |