SicheateR99 commited on
Commit
d4ad173
·
verified ·
1 Parent(s): 934c2a0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -3
app.py CHANGED
@@ -6,6 +6,7 @@ from fastapi import FastAPI
6
  from pydantic import BaseModel
7
  from fastapi.middleware.cors import CORSMiddleware
8
 
 
9
  os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
10
  os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
11
 
@@ -21,12 +22,14 @@ app.add_middleware(
21
  class ItemRequest(BaseModel):
22
  items_text: str
23
 
 
24
  model = None
25
  encoder = None
26
 
27
  def get_model():
28
  global model, encoder
29
  if model is None:
 
30
  model = tf.keras.models.load_model('model_strukly.keras')
31
  with open('penerjemah_kategori.pkl', 'rb') as file:
32
  encoder = pickle.load(file)
@@ -42,6 +45,7 @@ def classify_items(request: ItemRequest):
42
 
43
  m, e = get_model()
44
 
 
45
  input_data = tf.constant([raw_items], dtype=tf.string)
46
  hasil_prediksi = m.predict(input_data, verbose=0)
47
 
@@ -51,10 +55,10 @@ def classify_items(request: ItemRequest):
51
  return {
52
  "success": True,
53
  "class_id": category_id,
54
- "class_name": category_name
55
  }
56
 
57
- except Exception as e:
58
  import traceback
59
  print(f"Error AI Klasifikasi: {traceback.format_exc()}")
60
- return {"success": False, "error": str(e), "category_id": None, "category_name": None}
 
6
  from pydantic import BaseModel
7
  from fastapi.middleware.cors import CORSMiddleware
8
 
9
+ # Optimasi RAM
10
  os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
11
  os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
12
 
 
22
  class ItemRequest(BaseModel):
23
  items_text: str
24
 
25
+ # Variable Global
26
  model = None
27
  encoder = None
28
 
29
  def get_model():
30
  global model, encoder
31
  if model is None:
32
+ # Load sangat normal, persis seperti di Colab
33
  model = tf.keras.models.load_model('model_strukly.keras')
34
  with open('penerjemah_kategori.pkl', 'rb') as file:
35
  encoder = pickle.load(file)
 
45
 
46
  m, e = get_model()
47
 
48
+ # Inference
49
  input_data = tf.constant([raw_items], dtype=tf.string)
50
  hasil_prediksi = m.predict(input_data, verbose=0)
51
 
 
55
  return {
56
  "success": True,
57
  "class_id": category_id,
58
+ "category_name": category_name
59
  }
60
 
61
+ except Exception as err:
62
  import traceback
63
  print(f"Error AI Klasifikasi: {traceback.format_exc()}")
64
+ return {"success": False, "error": str(err), "category_id": None, "category_name": None}