Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -8,16 +8,14 @@ import torch.nn as nn
|
|
| 8 |
from my_model.object_detection import detect_and_draw_objects
|
| 9 |
from my_model.captioner.image_captioning import get_caption
|
| 10 |
from my_model.utilities import free_gpu_resources
|
|
|
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
-
|
| 15 |
-
def load_caption_model():
|
| 16 |
-
st.write("Placeholder for load_caption_model function")
|
| 17 |
-
return None, None
|
| 18 |
|
| 19 |
-
|
| 20 |
-
return
|
| 21 |
|
| 22 |
def get_caption(image):
|
| 23 |
return "Generated caption for the image"
|
|
@@ -32,18 +30,18 @@ sample_images = ["Files/sample1.jpg", "Files/sample2.jpg", "Files/sample3.jpg",
|
|
| 32 |
|
| 33 |
def run_inference():
|
| 34 |
st.title("Run Inference")
|
| 35 |
-
image_qa_and_object_detection()
|
| 36 |
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
|
| 46 |
-
|
|
|
|
| 47 |
# Initialize session state for storing the current image and its Q&A history
|
| 48 |
if 'current_image' not in st.session_state:
|
| 49 |
st.session_state['current_image'] = None
|
|
@@ -76,7 +74,7 @@ def image_qa_app():
|
|
| 76 |
# Get Answer button
|
| 77 |
if st.button('Get Answer'):
|
| 78 |
# Process the question
|
| 79 |
-
answer = answer_question(st.session_state['current_image'], question)
|
| 80 |
st.session_state['qa_history'].append((question, answer))
|
| 81 |
|
| 82 |
# Display all Q&A
|
|
@@ -84,11 +82,6 @@ def image_qa_app():
|
|
| 84 |
st.text(f"Q: {q}\nA: {a}\n")
|
| 85 |
|
| 86 |
|
| 87 |
-
# Object Detection App
|
| 88 |
-
def object_detection_app():
|
| 89 |
-
# ... Implement your code for object detection ...
|
| 90 |
-
pass
|
| 91 |
-
|
| 92 |
# Main function
|
| 93 |
def main():
|
| 94 |
st.sidebar.title("Navigation")
|
|
|
|
| 8 |
from my_model.object_detection import detect_and_draw_objects
|
| 9 |
from my_model.captioner.image_captioning import get_caption
|
| 10 |
from my_model.utilities import free_gpu_resources
|
| 11 |
+
from my_model.KBVQA import KBVQA, prepare_kbvqa_model
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
+
def answer_question(image, question, model):
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
+
answer = model.generate_answer(question, image):
|
| 18 |
+
return answer
|
| 19 |
|
| 20 |
def get_caption(image):
|
| 21 |
return "Generated caption for the image"
|
|
|
|
| 30 |
|
| 31 |
def run_inference():
|
| 32 |
st.title("Run Inference")
|
|
|
|
| 33 |
|
| 34 |
+
# Button to load KBVQA models
|
| 35 |
+
if st.button('Load KBVQA Models'):
|
| 36 |
+
# Call the function to load models and show progress
|
| 37 |
+
kbvqa = prepare_kbvqa_model(your_detection_model) # Replace with your actual detection model
|
| 38 |
|
| 39 |
+
if kbvqa:
|
| 40 |
+
st.write("Model is ready for inference."
|
| 41 |
+
image_qa_app(kbvqa)
|
| 42 |
|
| 43 |
+
|
| 44 |
+
def image_qa_app(kbvqa):
|
| 45 |
# Initialize session state for storing the current image and its Q&A history
|
| 46 |
if 'current_image' not in st.session_state:
|
| 47 |
st.session_state['current_image'] = None
|
|
|
|
| 74 |
# Get Answer button
|
| 75 |
if st.button('Get Answer'):
|
| 76 |
# Process the question
|
| 77 |
+
answer = answer_question(st.session_state['current_image'], question, model=kbvqa)
|
| 78 |
st.session_state['qa_history'].append((question, answer))
|
| 79 |
|
| 80 |
# Display all Q&A
|
|
|
|
| 82 |
st.text(f"Q: {q}\nA: {a}\n")
|
| 83 |
|
| 84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
# Main function
|
| 86 |
def main():
|
| 87 |
st.sidebar.title("Navigation")
|