1234567891011121314151617181920212223242526272829303132 |
- from tensorflow.keras.applications import InceptionV3
- from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions
- from tensorflow.keras.preprocessing import image
- import numpy as np
- IMG_SIZE = 299
- PREDICTION_MODEL = InceptionV3(weights='imagenet')
- def classify_image(image_path: str):
- img_path = f'./app/{image_path}'
- img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE))
- x = image.img_to_array(img)
- x = np.expand_dims(x, axis=0)
- x = preprocess_input(x)
- preds = PREDICTION_MODEL.predict(x)
- result = decode_predictions(preds, top=3)[0]
- payload = []
- for _, value, _ in result:
- payload.append(value)
- return payload
- def warm_up():
- img_path = f'./app/test.png'
- img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE))
- x = image.img_to_array(img)
- x = np.expand_dims(x, axis=0)
- x = preprocess_input(x)
- PREDICTION_MODEL.predict(x)
|