Индекс выходит за границы оси 0 с размером - python - PullRequest
0 голосов
/ 02 мая 2019

У меня есть 72 изображения для классификации с моей моделью, и теперь я пытаюсь сделать прогноз с моей классификацией, но я обнаружил ошибку об индексе 32, который выходит за пределы оси 0 с размером 32.

test_datagen = image.ImageDataGenerator(rescale=1./255)
img_batch = test_datagen.flow_from_directory(images_dir, target_size=
test_datagen = image.ImageDataGenerator(rescale=1./255)
img_batch = test_datagen.flow_from_directory(images_dir, target_size=(img_width, img_height), shuffle=False)
predictions = model.predict_generator(img_batch, steps=1)
filenames = img_batch.filenames
predicted_class_indices = np.argmax(predictions,axis=1)
classnames = []
print(len(classnames))
for i in range(72):
    classnames.append(class_names[predicted_class_indices.item(i)])
results = pd.DataFrame({"Filename":filenames,
                      "Prediction":classnames})
results.head(72)

И я получаю сообщение об ошибке вроде этого:

Found 72 images belonging to 3 classes.
0
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-37-1d228169f5c1> in <module>
      9 print(len(classnames))
     10 for i in range(72):
---> 11     classnames.append(class_names[predicted_class_indices.item(i)])
     12 results = pd.DataFrame({"Filename":filenames,
     13                       "Prediction":classnames})

IndexError: index 32 is out of bounds for axis 0 with size 32
...