kasekiru/machine_learning
0
1import os2import gradio as gr3import tensorflow as tf4from tensorflow.keras.preprocessing.image import img_to_array, load_img5import numpy as np6 7# Menonaktifkan GPU untuk memastikan TensorFlow hanya menggunakan CPU8os.environ["CUDA_VISIBLE_DEVICES"] = "-1"9 10# Muat model dari file .keras yang ada di repository11model_path = "CNN_Anjing_Ayam_Sapi.keras"12model = tf.keras.models.load_model(model_path)13 14# Daftar kelas (label) untuk klasifikasi15class_names = ["anjing", "ayam", "sapi"]16 17# Fungsi klasifikasi gambar18def classify_image(image):19 img = load_img(image, target_size=(240, 240)) # Sesuaikan dengan ukuran input model20 img_array = img_to_array(img) / 255.0 # Normalisasi21 img_array = np.expand_dims(img_array, axis=0) # Tambahkan dimensi batch22 23 # Prediksi24 predictions = model.predict(img_array)25 predicted_class_index = np.argmax(predictions[0])26 predicted_class = class_names[predicted_class_index]27 confidence = predictions[0][predicted_class_index] * 10028 29 return f"{predicted_class} dengan kepercayaan {confidence:.2f}%"30 31# Interface Gradio32demo = gr.Interface(33 fn=classify_image,34 inputs=gr.Image(type="filepath"), # Menggunakan "filepath" untuk membaca path gambar35 outputs=gr.Text(),36 title="Klasifikasi Gambar Anjing, Ayam, dan Sapi",37 description="Unggah gambar anjing, ayam, atau sapi, dan model akan mengklasifikasikannya."38)39 40# Jalankan aplikasi41if __name__ == "__main__":42 demo.launch()43 