Всем привет. Подскажите пожалуйста как мне решить одну проблему. У меня есть нейронка, которая получает новое фото каждые 5 секунд. Каждое фото проверяется, если есть к примеру кошка, то печатает ‘cat’, если собака, ‘dog’, а если вообще другое животное, то ничего не печатает, а ждет появления кошки или собаки. У меня идет сбои в определениях фото. Плюс мне пришлось зациклить код. Можно как-то этого избежать? Подскажите что можно исправить в коде.
Python:
from keras.models import load_model
from keras.preprocessing import image
from keras.optimizers import SGD
import os
import numpy as np
import time
from PIL import ImageGrab, Image
import glob
# Загрузить сохраненную модель
print("Идет загрузка модели...")
model1 = load_model("C:/V.1/cat_dog_model.h5")
print("Модель загружена")
sgd=SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model1.compile(optimizer='sgd', loss='categorical_crossentropy')
path1 = 'C:/V.1/dataset/test_parent/data/'
# Прогнозирование новых изображений
filename = None
while True:
time.sleep(10)
box = (1082, 110, 1109, 670)
im = ImageGrab.grab(box)
filename = str(int(time.time())) + '.png'
im.save(path1 + filename, 'PNG')
print("Foto save")
print("Foto...")
list_of_files = glob.glob('C:/V.1/dataset/test_parent/data/*')
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)
img = image.load_img(latest_file, target_size = (27, 560))
## img = img_to_array(img)
img = np.expand_dims(img, axis=0)
rslt1 = model1.predict(img)
if rslt1[0][0] == 0:
print('cat')
else:
print('dog')