源代码:
import os
from mindspore.dataset import GeneratorDataset
import pandas as pd
from PIL import Image
import mindspore.dataset.vision.py_transforms as py_vision
from mindspore.dataset.transforms.py_transforms import Compose
class EyeLandmarksDataset(GeneratorDataset):
def __init__(self, excel_file, root_dir, transform=None):
self.landmarks_frame = pd.read_excel(excel_file)
self.root_dir = root_dir
self.transform = transform
def __len__(self):
return len(self.landmarks_frame)
def __getitem__(self, idx):
img_name = os.path.join(self.root_dir,
self.landmarks_frame.iloc[idx,3])
image = Image.open(img_name)
if self.transform:
image = self.transform(image)
landmarks = self.landmarks_frame.iloc[idx,7:].values #values函数将表格型数据结构转换成数组
landmarks = landmarks.astype('float').