GiladtheFixer commited on
Commit
b05f3b8
ยท
verified ยท
1 Parent(s): 90049d2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -12
app.py CHANGED
@@ -5,16 +5,35 @@ from huggingface_hub import from_pretrained_keras
5
  import numpy as np
6
  from keras.preprocessing.sequence import pad_sequences
7
  from keras.datasets import imdb
 
8
 
9
- # ื˜ืขื™ื ืช ื”ืžื•ื“ืœ ืž-Hugging Face Hub
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  try:
11
- model = from_pretrained_keras("GiladtheFixer/Sentiment_Analysis")
12
- print("Model loaded successfully!")
13
  except Exception as e:
14
- print(f"Error loading model: {e}")
15
-
16
- # ืงื‘ืœืช ืื™ื ื“ืงืก ื”ืžื™ืœื™ื ืฉืœ IMDB
17
- word_index = imdb.get_word_index()
18
 
19
  def preprocess_text(text):
20
  # ื”ืžืจื” ืœืžื™ืœื™ื
@@ -32,6 +51,13 @@ def preprocess_text(text):
32
  return vector
33
 
34
  def predict_sentiment(text):
 
 
 
 
 
 
 
35
  try:
36
  # ืขื™ื‘ื•ื“ ื”ื˜ืงืกื˜
37
  processed_text = preprocess_text(text)
@@ -47,9 +73,8 @@ def predict_sentiment(text):
47
  "Confidence": f"{confidence:.2%}"
48
  }
49
  except Exception as e:
50
- return {
51
- "Error": str(e)
52
- }
53
 
54
  # ื™ืฆื™ืจืช ืžืžืฉืง Gradio
55
  iface = gr.Interface(
@@ -68,6 +93,9 @@ iface = gr.Interface(
68
  theme=gr.themes.Soft()
69
  )
70
 
71
- # ื”ืคืขืœืช ื”ืžืžืฉืง
72
  if __name__ == "__main__":
73
- iface.launch(share=True) # ืฉื ื” ืœ-share=False ืื ืืชื” ืœื ืจื•ืฆื” ืœื™ื™ืฆืจ ืงื™ืฉื•ืจ ืฆื™ื‘ื•ืจื™
 
 
 
 
5
  import numpy as np
6
  from keras.preprocessing.sequence import pad_sequences
7
  from keras.datasets import imdb
8
+ import logging
9
 
10
+ # ื”ื’ื“ืจืช ืœื•ื’ืจ ื‘ืกื™ืกื™
11
+ logging.basicConfig(level=logging.INFO)
12
+ logger = logging.getLogger(__name__)
13
+
14
+ # ื”ื’ื“ืจืช ื”ืžื•ื“ืœ ื›ืžืฉืชื ื” ื’ืœื•ื‘ืœื™
15
+ global model
16
+ model = None
17
+
18
+ # ืคื•ื ืงืฆื™ื” ืœื˜ืขื™ื ืช ื”ืžื•ื“ืœ
19
+ def load_model():
20
+ global model
21
+ try:
22
+ logger.info("ื”ืชื—ืœืช ื˜ืขื™ื ืช ื”ืžื•ื“ืœ...")
23
+ model = from_pretrained_keras("GiladtheFixer/Sentiment_Analysis")
24
+ logger.info("ื”ืžื•ื“ืœ ื ื˜ืขืŸ ื‘ื”ืฆืœื—ื”!")
25
+ return True
26
+ except Exception as e:
27
+ logger.error(f"ืฉื’ื™ืื” ื‘ื˜ืขื™ื ืช ื”ืžื•ื“ืœ: {e}")
28
+ return False
29
+
30
+ # ื˜ืขื™ื ืช ืื™ื ื“ืงืก ื”ืžื™ืœื™ื
31
  try:
32
+ word_index = imdb.get_word_index()
33
+ logger.info("ืื™ื ื“ืงืก ื”ืžื™ืœื™ื ื ื˜ืขืŸ ื‘ื”ืฆืœื—ื”")
34
  except Exception as e:
35
+ logger.error(f"ืฉื’ื™ืื” ื‘ื˜ืขื™ื ืช ืื™ื ื“ืงืก ื”ืžื™ืœื™ื: {e}")
36
+ raise
 
 
37
 
38
  def preprocess_text(text):
39
  # ื”ืžืจื” ืœืžื™ืœื™ื
 
51
  return vector
52
 
53
  def predict_sentiment(text):
54
+ global model
55
+
56
+ # ื‘ื“ื™ืงื” ืื ื”ืžื•ื“ืœ ื˜ืขื•ืŸ
57
+ if model is None:
58
+ if not load_model():
59
+ return {"Error": "Failed to load model"}
60
+
61
  try:
62
  # ืขื™ื‘ื•ื“ ื”ื˜ืงืกื˜
63
  processed_text = preprocess_text(text)
 
73
  "Confidence": f"{confidence:.2%}"
74
  }
75
  except Exception as e:
76
+ logger.error(f"ืฉื’ื™ืื” ื‘ื‘ื™ืฆื•ืข ื”ื—ื™ื–ื•ื™: {e}")
77
+ return {"Error": str(e)}
 
78
 
79
  # ื™ืฆื™ืจืช ืžืžืฉืง Gradio
80
  iface = gr.Interface(
 
93
  theme=gr.themes.Soft()
94
  )
95
 
96
+ # ื˜ืขื™ื ืช ื”ืžื•ื“ืœ ื‘ื”ืคืขืœื” ื”ืจืืฉื•ื ื™ืช
97
  if __name__ == "__main__":
98
+ if load_model():
99
+ iface.launch(share=True)
100
+ else:
101
+ logger.error("ืœื ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืืช ื”ืžืžืฉืง - ื”ืžื•ื“ืœ ืœื ื ื˜ืขืŸ ื‘ื”ืฆืœื—ื”")