Download predict.py from Hussain033/Leaf_Image_Classification: direct link, hf CLI and curl.
- Browser
- Download file 991 Bytes
-
https://huggingface.co/spaces/Hussain033/Leaf_Image_Classification/resolve/main/predict.py
- Command line
-
hf download hf://spaces/Hussain033/Leaf_Image_Classification/predict.py
-
curl -L -o predict.py https://huggingface.co/spaces/Hussain033/Leaf_Image_Classification/resolve/main/predict.py
991 Bytes
| import numpy as np | |
| import tensorflow as tf | |
| import tensorflow_hub as hub | |
| from PIL import Image | |
| def pre_process(image: Image.Image): | |
| # load the image and convert into | |
| # numpy array | |
| img = image.resize((180,120)) | |
| # asarray() class is used to convert | |
| # PIL images into NumPy arrays | |
| numpydata = np.array(img) | |
| image = np.expand_dims(numpydata, axis=0) | |
| #image = image//255.0 | |
| return image | |
| def predict(image: Image.Image): | |
| #save_option = tf.saved_model.LoadOptions(experimental_io_device='/job:localhost', ) | |
| model = tf.keras.models.load_model('leaf_classify.h5',custom_objects={'KerasLayer':hub.KerasLayer})#, options=save_option) | |
| pre = model.predict(image,batch_size = None) | |
| #result = np.argmax(pre) | |
| pred = tf.nn.sigmoid(pre) | |
| classes = ['Alstonia Scholaris','Arjun','Bael','Basil','Chinar','Gauva','Jamun','Jatropa','Lemon','Mango','Pomegranate', | |
| 'Pongamia Pinnata'] | |
| return {classes[i]: float(pred[0][i]) for i in range(len(classes))} |