Spaces:
Sleeping
Sleeping
Update my_model/state_manager.py
Browse files
my_model/state_manager.py
CHANGED
|
@@ -41,11 +41,11 @@ class StateManager:
|
|
| 41 |
"""
|
| 42 |
Sets up user interface widgets for selecting models, settings, and displaying model settings conditionally.
|
| 43 |
"""
|
| 44 |
-
|
| 45 |
-
self.col1.selectbox("Choose a method:", ["Fine-Tuned Model", "In-Context Learning (n-shots)"], index=0, key='method')
|
| 46 |
-
detection_model = self.col1.selectbox("Choose a model for objects detection:", ["yolov5", "detic"], index=1, key='detection_model')
|
| 47 |
default_confidence = 0.2 if st.session_state.detection_model == "yolov5" else 0.4
|
| 48 |
-
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', col=self.col1)
|
| 49 |
|
| 50 |
# Conditional display of model settings
|
| 51 |
|
|
@@ -56,7 +56,7 @@ class StateManager:
|
|
| 56 |
|
| 57 |
|
| 58 |
|
| 59 |
-
def set_slider_value(self, text, min_value, max_value, value, step, slider_key_name, col=None):
|
| 60 |
"""
|
| 61 |
Creates a slider widget with the specified parameters, optionally placing it in a specific column.
|
| 62 |
|
|
@@ -123,14 +123,17 @@ class StateManager:
|
|
| 123 |
"""
|
| 124 |
|
| 125 |
try:
|
|
|
|
| 126 |
free_gpu_resources()
|
| 127 |
st.session_state['kbvqa'] = prepare_kbvqa_model()
|
| 128 |
st.session_state['kbvqa'].detection_confidence = st.session_state.confidence_level
|
| 129 |
# Update the previous state with current session state values
|
| 130 |
st.session_state['previous_state'] = {'method': st.session_state.method, 'detection_model': st.session_state.detection_model, 'confidence_level': st.session_state.confidence_level}
|
| 131 |
st.session_state['model_loaded'] = True
|
|
|
|
| 132 |
st.session_state['button_label'] = "Reload Model"
|
| 133 |
free_gpu_resources()
|
|
|
|
| 134 |
except Exception as e:
|
| 135 |
st.error(f"Error loading model: {e}")
|
| 136 |
|
|
|
|
| 41 |
"""
|
| 42 |
Sets up user interface widgets for selecting models, settings, and displaying model settings conditionally.
|
| 43 |
"""
|
| 44 |
+
disabled=st.session_state['loading_in_progress']
|
| 45 |
+
self.col1.selectbox("Choose a method:", ["Fine-Tuned Model", "In-Context Learning (n-shots)"], index=0, key='method', disabled=disabled)
|
| 46 |
+
detection_model = self.col1.selectbox("Choose a model for objects detection:", ["yolov5", "detic"], index=1, key='detection_model', disabled=disabled)
|
| 47 |
default_confidence = 0.2 if st.session_state.detection_model == "yolov5" else 0.4
|
| 48 |
+
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', col=self.col1, disabled=disabled)
|
| 49 |
|
| 50 |
# Conditional display of model settings
|
| 51 |
|
|
|
|
| 56 |
|
| 57 |
|
| 58 |
|
| 59 |
+
def set_slider_value(self, text, min_value, max_value, value, step, slider_key_name, col=None, disabled=False):
|
| 60 |
"""
|
| 61 |
Creates a slider widget with the specified parameters, optionally placing it in a specific column.
|
| 62 |
|
|
|
|
| 123 |
"""
|
| 124 |
|
| 125 |
try:
|
| 126 |
+
st.session_state['loading_in_progress'] = True
|
| 127 |
free_gpu_resources()
|
| 128 |
st.session_state['kbvqa'] = prepare_kbvqa_model()
|
| 129 |
st.session_state['kbvqa'].detection_confidence = st.session_state.confidence_level
|
| 130 |
# Update the previous state with current session state values
|
| 131 |
st.session_state['previous_state'] = {'method': st.session_state.method, 'detection_model': st.session_state.detection_model, 'confidence_level': st.session_state.confidence_level}
|
| 132 |
st.session_state['model_loaded'] = True
|
| 133 |
+
st.session_state['loading_in_progress'] = False
|
| 134 |
st.session_state['button_label'] = "Reload Model"
|
| 135 |
free_gpu_resources()
|
| 136 |
+
|
| 137 |
except Exception as e:
|
| 138 |
st.error(f"Error loading model: {e}")
|
| 139 |
|