Индекс 400 выходит за пределы для оси 1 с размером 368 - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь построить модель распознавания лиц с использованием CNN. У меня есть набор данных изображений, который состоит из 368 классов, каждый класс содержит 15 изображений.Я пытаюсь использовать keras.utils.to_categorical на ярлыках изображений (имена классов, которые являются числами от 1 до 368), чтобы установить конкретную метку на 1, а остальные установить на ноль во время обучения. Вот что я сделал до сих пор

import cv2
import numpy as np
import os
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
from pathlib import Path
from sklearn.model_selection import train_test_split
SEED = 44000
data = []
label = []
BASE_FOLDER = r'C:\Users\Desktop\images\\'
folders = os.listdir(BASE_FOLDER)
for folder in folders:
      for file in os.listdir(BASE_FOLDER + folder + '//'):
          img = cv2.imread(BASE_FOLDER + folder + '//' + file)
          data.append(img)
          label.append(folder)


train_data, test_data, train_label, test_label = train_test_split(data, label, test_size=0.1, random_state=SEED)

train_data = np.array(train_data, dtype=np.float32)

test_data = np.array(test_data, dtype=np.float32)
train_data = train_data / 180 # to make the array values between 0-1. image size is 180 X 180
test_data = test_data / 180
train_label = list(map(int, train_label))
train_label = keras.utils.to_categorical(train_label, 368)

но я получаю эту ошибку

IndexError                                Traceback (most recent call last)
<ipython-input-69-f087078ef22a> in <module>
----> 1 train_label = keras.utils.to_categorical(train_label, 368)
~\Miniconda3\envs\tf_gpu\lib\site-packages\keras\utils\np_utils.py in to_categorical(y, num_classes, dtype)
 32     n = y.shape[0]
 33     categorical = np.zeros((n, num_classes), dtype=dtype)
 ---> 34     categorical[np.arange(n), y] = 1
 35     output_shape = input_shape + (num_classes,)
 36     categorical = np.reshape(categorical, output_shape)
 IndexError: index 400 is out of bounds for axis 1 with size 368

в чем смысл этой ошибки и как ее решить?

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