omanaaja commited on
Commit
0d4967c
·
1 Parent(s): c779da4

menambahkan keras load model from jso

Browse files
Files changed (1) hide show
  1. app.py +17 -20
app.py CHANGED
@@ -1,47 +1,44 @@
1
  import os
2
  os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
3
  import keras
4
- print("keras versio:", keras.__version__)
5
  import gradio as gr
6
  import numpy as np
7
  from keras.preprocessing import image
8
- from Model_Load import load_model_from_files
9
- from description import description
10
- from location import location
11
  from fastapi import FastAPI, File, UploadFile
12
  from fastapi.responses import JSONResponse
13
  from io import BytesIO
14
  from PIL import Image
15
- from tensorflow.keras.models import model_from_json
16
  import tensorflow as tf
17
  import logging
18
  from fastapi.middleware.cors import CORSMiddleware
19
- from keras.models import model_from_json
20
 
21
- def load_model_from_files(json_path, weights_path):
22
- with open(json_path, "r") as json_file:
23
- loaded_model_json = json_file.read()
24
- model = model_from_json(loaded_model_json)
25
- model.load_weights(weights_path)
26
- return model
27
 
28
  # Nonaktifkan GPU (jika tidak digunakan)
29
  tf.config.set_visible_devices([], 'GPU')
30
 
31
  # Inisialisasi logger
32
  logging.basicConfig(level=logging.INFO)
33
- logger = logging.getLogger(__name__)
 
 
 
 
34
 
35
- # Load model dan label
36
- model = load_model_from_files("model.json", "my_model.h5")
37
 
 
38
  labels = [
39
  "Benteng Vredeburg", "Candi Borobudur", "Candi Prambanan", "Gedung Agung Istana Kepresidenan",
40
  "Masjid Gedhe Kauman", "Monumen Serangan 1 Maret", "Museum Gunungapi Merapi",
41
  "Situs Ratu Boko", "Taman Sari", "Tugu Yogyakarta"
42
  ]
43
 
44
- # Fungsi preprocessing dan prediksi
45
  def classify_image(img):
46
  img = img.resize((224, 224))
47
  img_array = image.img_to_array(img)
@@ -81,7 +78,7 @@ def create_app():
81
 
82
  app.add_middleware(
83
  CORSMiddleware,
84
- allow_origins=["http://localhost:9000"], # atau sesuaikan dengan asal frontend
85
  allow_credentials=True,
86
  allow_methods=["*"],
87
  allow_headers=["*"],
@@ -115,8 +112,8 @@ def create_app():
115
  app = gr.mount_gradio_app(app, gradio_app, path="/gradio")
116
  return app
117
 
118
- # Hanya jalan jika dijalankan langsung, bukan import
119
- if __name__ == "__main__":
120
  import uvicorn
121
  app = create_app()
122
- uvicorn.run(app, host="127.0.0.1", port=8000)
 
1
  import os
2
  os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
3
  import keras
 
4
  import gradio as gr
5
  import numpy as np
6
  from keras.preprocessing import image
 
 
 
7
  from fastapi import FastAPI, File, UploadFile
8
  from fastapi.responses import JSONResponse
9
  from io import BytesIO
10
  from PIL import Image
 
11
  import tensorflow as tf
12
  import logging
13
  from fastapi.middleware.cors import CORSMiddleware
14
+ from tensorflow.keras.models import load_model
15
 
16
+ # Import deskripsi dan lokasi
17
+ from description import description
18
+ from location import location
 
 
 
19
 
20
  # Nonaktifkan GPU (jika tidak digunakan)
21
  tf.config.set_visible_devices([], 'GPU')
22
 
23
  # Inisialisasi logger
24
  logging.basicConfig(level=logging.INFO)
25
+ logger = logging.getLogger(_name_)
26
+
27
+ # Fungsi memuat model dari file .h5 langsung
28
+ def load_model_from_file(h5_path):
29
+ return load_model(h5_path)
30
 
31
+ # Load model
32
+ model = load_model_from_file("my_model.h5")
33
 
34
+ # Daftar label
35
  labels = [
36
  "Benteng Vredeburg", "Candi Borobudur", "Candi Prambanan", "Gedung Agung Istana Kepresidenan",
37
  "Masjid Gedhe Kauman", "Monumen Serangan 1 Maret", "Museum Gunungapi Merapi",
38
  "Situs Ratu Boko", "Taman Sari", "Tugu Yogyakarta"
39
  ]
40
 
41
+ # Fungsi klasifikasi
42
  def classify_image(img):
43
  img = img.resize((224, 224))
44
  img_array = image.img_to_array(img)
 
78
 
79
  app.add_middleware(
80
  CORSMiddleware,
81
+ allow_origins=["http://localhost:9000"], # atau sesuaikan
82
  allow_credentials=True,
83
  allow_methods=["*"],
84
  allow_headers=["*"],
 
112
  app = gr.mount_gradio_app(app, gradio_app, path="/gradio")
113
  return app
114
 
115
+ # Run server jika dijalankan langsung
116
+ if _name_ == "_main_":
117
  import uvicorn
118
  app = create_app()
119
+ uvicorn.run(app, host="127.0.0.1", port=8000)