生成带有dataloader pytorch getting错误的数据集时无法导入名称';读取数据集';
使用pytorch dataloader将数据加载到数据集中。 获取错误无法导入名称“读取数据集” 试图寻找类似问题的结果。 如果对文件而不是模块存在混淆,并且在您的文件中找不到读取数据集,如何更改为修复生成带有dataloader pytorch getting错误的数据集时无法导入名称';读取数据集';,pytorch,google-colaboratory,dataloader,Pytorch,Google Colaboratory,Dataloader,使用pytorch dataloader将数据加载到数据集中。 获取错误无法导入名称“读取数据集” 试图寻找类似问题的结果。 如果对文件而不是模块存在混淆,并且在您的文件中找不到读取数据集,如何更改为修复 class MRDataset(data.Dataset): def __init__(self, root_dir, task, plane, train=True, transform=None, weights=None): super().__init__()
class MRDataset(data.Dataset):
def __init__(self, root_dir, task, plane, train=True, transform=None, weights=None):
super().__init__()
self.task = task
self.plane = plane
self.root_dir = root_dir
self.train = train
if self.train:
self.folder_path = self.root_dir + 'train/{0}/'.format(plane)
self.records = pd.read_csv(
self.root_dir + 'train-{0}.csv'.format(task), header=None, names=['id', 'label'])
else:
transform = None
self.folder_path = self.root_dir + 'valid/{0}/'.format(plane)
self.records = pd.read_csv(
self.root_dir + 'valid-{0}.csv'.format(task), header=None, names=['id', 'label'])
self.records['id'] = self.records['id'].map(
lambda i: '0' * (4 - len(str(i))) + str(i))
self.paths = [self.folder_path + filename +
'.npy' for filename in self.records['id'].tolist()]
self.labels = self.records['label'].tolist()
self.transform = transform
if weights is None:
pos = np.sum(self.labels)
neg = len(self.labels) - pos
self.weights = torch.FloatTensor([1, neg / pos])
else:
self.weights = torch.FloatTensor(weights)
def __len__(self):
return len(self.paths)
def __getitem__(self, index):
array = np.load(self.paths[index])
label = self.labels[index]
if label == 1:
label = torch.FloatTensor([[0, 1]])
elif label == 0:
label = torch.FloatTensor([[1, 0]])
if self.transform:
array = self.transform(array)
else:
array = np.stack((array,)*3, axis=1)
array = torch.FloatTensor(array)
# if label.item() == 1:
# weight = np.array([self.weights[1]])
# weight = torch.FloatTensor(weight)
# else:
# weight = np.array([self.weights[0]])
# weight = torch.FloatTensor(weight)
return array, label, self.weights
有一个模型和火车班来运行这个。列中指定的参数。
运行列车时应加载数据并通过模型运行请共享一个复制问题的独立笔记本。数据为MRNet-v1.0(~5.7G)。来自斯坦福MRI样本-不在我的github上