https://www.tensorflow.org/tutorials/images/classification
В TensorFlow есть прекрасный учебник о том, как построить модель классификатора изображений для обнаружения кошек и собак ...
Но они оставили два важные шаги.
Шаг 1: Как подготовить изображение для подачи только что изготовленной модели?
Шаг 2: Как вы кормите модель?
Это то, что я пытался, с ошибочными результатами.
new_array = cv2.imread('cat.jpg') "<--- CV2 Read Image"
dImg= new_array.reshape(1,150,150,3) "<-- Convert it to 4D input "
prediction = model.predict(dImg/255) "<---- Scale down by 255 ??? Idk im guessing "
print(str((prediction[0][0])) + " cat") "<-- Print the list of list prediction which rn gives unusable results"
Обновление
new_array = cv2.imread('dog.jpg')
dImg= new_array.reshape(1,150,150,3)
prediction = model.predict(dImg/255)
print(str((int(prediction[0][0]))) + ' dog')
print(prediction[0][0])
new_array = cv2.imread('dog-2.jpg')
dImg= new_array.reshape(1,150,150,3)
prediction = model.predict(dImg/255)
print(str((int(prediction[0][0]))) + ' dog')
print(prediction[0][0])
new_array = cv2.imread('dog-3.jpg')
dImg= new_array.reshape(1,150,150,3)
prediction = model.predict(dImg/255)
print(str((int(prediction[0][0]))) + ' dog')
print(prediction[0][0])
new_array = cv2.imread('dog-4.jpg')
dImg= new_array.reshape(1,150,150,3)
prediction = model.predict(dImg/255)
print(str((int(prediction[0][0]))) + ' dog')
print(prediction[0][0])
результат
0 cat
0.5860402
-2 cat
-2.1347654
-1 cat
-1.380995
-4 cat
-4.0731945
1 dog
1.6571417
1 dog
1.759522
0 dog
-0.05260024
0 dog
-0.827193