Что мой код:
test_image = image.load_img('dataset/single_prediction/cat_or_dog_1.jpg', target_size = (64, 64))
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis = 0)
result = classifier.predict(test_image)
training_set.class_indices
if result[0][0] == 1:
prediction = 'dog'
else:
prediction = 'cat' '
и у меня такая ошибка:
File "<ipython-input-31-35ebf5fa8bf7>", line 7
prediction = 'dog'
^
IndentationError: expected an indented block
Может кто-нибудь мне помочь?
Ваш код не имеет правильного отступов:
test_image = image.load_img('dataset/single_prediction/cat_or_dog_1.jpg', target_size = (64, 64))
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis = 0)
result = classifier.predict(test_image)
training_set.class_indices
if result[0][0] == 1:
prediction = 'dog'
else:
prediction = 'cat'
Конструкции цикла Python, такие как if, для и т.д., Требуют правильного отступов, следующих за:. Вы должны нажать "enter" после ввода: в своей среде IDE автоматически перейти к позиции, где вы должны добавить следующую строку кода, которая будет в цикле. Если вы не отступаете, это значит, что python заставляет думать либо за пределами цикла if, либо отбрасывает ошибку отступа. Ваш код должен быть следующим:
test_image = image.load_img('dataset/single_prediction/cat_or_dog_1.jpg',target_size=(64,64))
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis = 0)
result = classifier.predict(test_image)
training_set.class_indices
if result[0][0] == 1:
prediction = 'dog'
else:
prediction = 'cat'
В Python имеет значение отступы. Таким образом, вам нужно отступать блоки (например, вещи, которые входят в if
):
if result[0][0] == 1:
prediction = 'dog'
#...
Блоки в python работают с отступом. См:
" https://www.python.org/dev/peps/pep-0008/#indentation "
Your code should be like:
if result[0][0] == 1:
<4 spaces>prediction = 'dog'
else:
<4 spaces>prediction = 'cat'