TypeError: unhashable тип: 'list' при вызове .iloc () - PullRequest
0 голосов
/ 20 сентября 2018

В настоящее время я занимаюсь некоторыми исследованиями искусственного интеллекта для проекта, и для этого мне нужно привыкнуть к фреймворку под названием "Pytorch".Это нормально, и все, но после официального руководства (найдено здесь ) код работает неправильно.

Идея состоит в том, что я анализирую набор черт лица из подготовленного набора данных, а затемсделать что-то с этим (еще не дошел до этой части).Но когда я запускаю этот фрагмент кода:

img_name = os.path.join(self.root_dir, self.landmarks_frame.iloc([index, 0]))  # At this point 'index' is 0

Набор данных инициализируется следующим образом:

face_dataset = fDataset(csv_file='faces/face_landmarks.csv', root_dir='faces/')

И здесь появляется ошибка:

for i in range(len(face_dataset)):
    sample = face_dataset[i]  # <-- right there

Это приводит к функции получения:

def __getitem__(self, index):
    img_name = os.path.join(self.root_dir, self.landmarks_frame.iloc([index, 0]))
    image = io.imread(img_name)
    landmarks = self.landmarks_frame.iloc[index, 1:].as_matrix()
    landmarks = landmarks.astype('float').reshape(-1, 2)
    sample = {'image': image, 'landmarks': landmarks}

Находясь в моем классе FaceLandmarksDataset(Dataset):, я просто получаю ошибку названия.Я нахожу это странным, потому что я могу читать набор данных в виде рамки в PyCharm просто отлично: Dataset Inspector

Там, где ясно видно первое изображение.Я также проверил, что он находится в папке, в которую я смотрю.

Может кто-нибудь помочь?:)

1 Ответ

0 голосов
/ 20 сентября 2018

Вам не нужны скобки с iloc:

self.landmarks_frame.iloc[index, 0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...