McKlay's picture
Upload 5 files
c23107d verified
## Preprocessing inside app.py
'''
def predict_flower(img):
img = img.resize((224, 224))
img_array = image.img_to_array(img) # raw [0, 255]
img_array = preprocess_input(img_array) # normalize to [-1, 1]
img_array = np.expand_dims(img_array, axis=0)
preds = model.predict(img_array)[0]
'''
## make sure processing during inference (app,py)
## is the same as preprocessing during training
## see code cell 3 in https://www.kaggle.com/code/claymarksarte/flower-recognition-fine-tuning
'''
def preprocess(image, label):
image = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))
if image.shape[-1] != 3:
image = tf.image.grayscale_to_rgb(image)
image = tf.ensure_shape(image, [IMG_SIZE, IMG_SIZE, 3])
image = tf.cast(image, tf.float32) # keep as float32 but keep original [0,255] values
image = preprocess_input(image) # ✅ now safely normalize to [-1, 1]
label = tf.cast(label, tf.int32)
return image, label
'''