m7mdal7aj commited on
Commit
f72214b
1 Parent(s): 116ed6e

Update my_model/utilities/state_manager.py

Browse files
Files changed (1) hide show
  1. my_model/utilities/state_manager.py +12 -19
my_model/utilities/state_manager.py CHANGED
@@ -12,32 +12,15 @@ class StateManager:
12
  def initialize_state(self):
13
  if 'images_data' not in st.session_state:
14
  st.session_state['images_data'] = {}
15
- #if 'method' not in st.session_state:
16
- # st.session_state['method'] = None
17
- # if 'detection_model' not in st.session_state:
18
- # st.session_state['detection_model'] = None
19
  if 'kbvqa' not in st.session_state:
20
  st.session_state['kbvqa'] = None
21
- # if 'confidence_level' not in st.session_state:
22
- # st.session_state['confidence_level'] = None
23
 
24
 
25
-
26
  def set_up_widgets(self):
27
  st.selectbox("Choose a method:", ["Fine-Tuned Model", "In-Context Learning (n-shots)"], index=0, key='method')
28
  detection_model = st.selectbox("Choose a model for objects detection:", ["yolov5", "detic"], index=1, key='detection_model')
29
- st.write('detection model')
30
- st.write(st.session_state.detection_model)
31
  default_confidence = 0.2 if st.session_state.detection_model == "yolov5" else 0.4
32
- self.set_slider_value(text="Select minimum detection confidence level",
33
- min_value=0.1,
34
- max_value=0.9,
35
- value=default_confidence,
36
- step=0.1,
37
- slider_key_name='confidence_level'
38
- )
39
- st.write("Detection Confidence")
40
- st.write(st.session_state.confidence_level)
41
 
42
  def set_slider_value(self, text, min_value, max_value, value, step, slider_key_name):
43
 
@@ -69,9 +52,19 @@ class StateManager:
69
  st.session_state['kbvqa'].detection_confidence = st.session_state.confidence_level
70
  #self.update_model_settings(detection_model, confidence_level)
71
  st.text("Model is ready for inference.")
 
 
 
72
  free_gpu_resources()
73
  except Exception as e:
74
- st.error(f"Error loading model: {e}")
 
 
 
 
 
 
 
75
 
76
  def get_model(self):
77
  """Retrieve the KBVQA model from the session state."""
 
12
  def initialize_state(self):
13
  if 'images_data' not in st.session_state:
14
  st.session_state['images_data'] = {}
 
 
 
 
15
  if 'kbvqa' not in st.session_state:
16
  st.session_state['kbvqa'] = None
 
 
17
 
18
 
 
19
  def set_up_widgets(self):
20
  st.selectbox("Choose a method:", ["Fine-Tuned Model", "In-Context Learning (n-shots)"], index=0, key='method')
21
  detection_model = st.selectbox("Choose a model for objects detection:", ["yolov5", "detic"], index=1, key='detection_model')
 
 
22
  default_confidence = 0.2 if st.session_state.detection_model == "yolov5" else 0.4
23
+ self.set_slider_value(text="Select minimum detection confidence level", min_value=0.1, max_value=0.9, value=default_confidence, step=0.1, slider_key_name='confidence_level')
 
 
 
 
 
 
 
 
24
 
25
  def set_slider_value(self, text, min_value, max_value, value, step, slider_key_name):
26
 
 
52
  st.session_state['kbvqa'].detection_confidence = st.session_state.confidence_level
53
  #self.update_model_settings(detection_model, confidence_level)
54
  st.text("Model is ready for inference.")
55
+ # Update the previous state with current session state values
56
+ st.session_state['previous_state'] = {'method': st.session_state.method, 'detection_model': st.session_state.detection_model, 'confidence_level': st.session_state.confidence_level}
57
+
58
  free_gpu_resources()
59
  except Exception as e:
60
+ st.error(f"Error loading model: {e}")
61
+
62
+ # Function to check if any session state values have changed
63
+ def has_state_changed(self):
64
+ for key in st.session_state['previous_state']:
65
+ if st.session_state[key] != st.session_state['previous_state'][key]:
66
+ return True # Found a change
67
+ else: return False # No changes found
68
 
69
  def get_model(self):
70
  """Retrieve the KBVQA model from the session state."""