excusmy's picture
Upload app.py
87d3198
raw
history blame
1.41 kB
import streamlit as st
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
import tensorflow as tf
if tf.test.gpu_device_name():
print('GPU found')
else:
print("No GPU found")
from keras.preprocessing import image as ig
import numpy as np
from PIL import Image
st.title("Klasfisikasi Batu Kertas Gunting")
st.caption("Untuk data bisa di download disini")
st.link_button("Link Berikut", "https://www.kaggle.com/datasets/drgfreeman/rockpaperscissors/download?datasetVersionNumber=2")
model_saved = tf.keras.models.load_model('model_cnn_final.h5')
labels = ['paper','scissors','rock']
nb = len(labels)
def run_data(image):
img_tensor = tf.convert_to_tensor(image)
size = (150, 150)
ds = tf.image.resize(img_tensor, size)
x = ig.img_to_array(ds)
x = np.expand_dims(x, axis = 0)
images = np.vstack([x])
classes = model_saved(images)
for j in range(nb):
if classes[0][j] == 1. :
st.write('Gambar Berikut termasuk Class', labels[j])
break
st.write("Silahkan upload gambar disini")
file = st.file_uploader("upload gambar Saja", type=["png", "jpg", "jpeg"])
image = []
if file is not None:
image = Image.open(file)
st.image(
image,
caption=f"Berhasil upload gambar",
use_column_width=True,
)
image = np.array(image)
if st.button('Tampilkan Hasil Klasifikasi'):
run_data(image)