Spaces:
Build error
Build error
import gradio as gr | |
import numpy as np | |
import tensorflow as tf | |
from tensorflow import keras | |
from tensorflow.keras import layers | |
from tensorflow.keras.models import Sequential | |
from google.colab import drive | |
drive.mount('/content/drive') | |
data_dir = "/content/drive/MyDrive/Colab Notebooks/valid" | |
img_height,img_width=180,180 | |
batch_size=32 | |
train_ds = tf.keras.preprocessing.image_dataset_from_directory( | |
data_dir, | |
validation_split=0.2, | |
subset="training", | |
seed=123, | |
image_size=(img_height, img_width), | |
batch_size=batch_size) | |
val_ds = tf.keras.preprocessing.image_dataset_from_directory( | |
data_dir, | |
validation_split=0.2, | |
subset="validation", | |
seed=123, | |
image_size=(img_height, img_width), | |
batch_size=batch_size) | |
num_classes = 38 | |
model = Sequential([ | |
layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_height, img_width, 3)), | |
layers.Conv2D(16, 3, padding='same', activation='relu'), | |
layers.MaxPooling2D(), | |
layers.Conv2D(32, 3, padding='same', activation='relu'), | |
layers.MaxPooling2D(), | |
layers.Conv2D(64, 3, padding='same', activation='relu'), | |
layers.MaxPooling2D(), | |
layers.Flatten(), | |
layers.Dense(128, activation='relu'), | |
layers.Dense(num_classes,activation='softmax') | |
]) | |
model.compile(optimizer='adam', | |
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), | |
metrics=['accuracy']) | |
epochs=1 | |
history = model.fit( | |
train_ds, | |
validation_data=val_ds, | |
epochs=epochs | |
) | |
def predict_image(img): | |
img_4d=img.reshape(-1,180,180,3) | |
prediction=model.predict(img_4d)[0] | |
return {class_names[i]: float(prediction[i]) for i in range(5)} | |
image = gr.inputs.Image(shape=(180,180)) | |
label = gr.outputs.Label(num_top_classes=5) | |
gr.Interface(fn=predict_image, inputs=image, outputs=label,interpretation='default').launch(share = 'True',debug='True') |