Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -13,6 +13,7 @@ import tempfile
|
|
| 13 |
import json
|
| 14 |
from math import radians, cos, sin, asin, sqrt, atan2, degrees
|
| 15 |
import time
|
|
|
|
| 16 |
|
| 17 |
# ============================
|
| 18 |
# Configure Logging
|
|
@@ -689,10 +690,14 @@ def main():
|
|
| 689 |
|
| 690 |
# Define the Gradio components for classical prediction tab
|
| 691 |
classical_tab = gr.Interface(
|
| 692 |
-
fn=
|
| 693 |
inputs=[
|
| 694 |
gr.File(label="Upload CSV File", type='filepath'),
|
| 695 |
-
gr.Dropdown(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 696 |
gr.Number(label="Min MMSI", value=0),
|
| 697 |
gr.Number(label="Max MMSI", value=999999999)
|
| 698 |
],
|
|
@@ -703,12 +708,15 @@ def main():
|
|
| 703 |
gr.Textbox(label="Error Message", lines=2, visible=False)
|
| 704 |
],
|
| 705 |
title="Classical Prediction & Metrics",
|
| 706 |
-
description=
|
|
|
|
|
|
|
|
|
|
| 707 |
)
|
| 708 |
|
| 709 |
# Define the Gradio components for abnormal behavior detection tab
|
| 710 |
abnormal_tab = gr.Interface(
|
| 711 |
-
fn=
|
| 712 |
inputs=[
|
| 713 |
gr.File(label="Upload Predicted Positions CSV", type='filepath'),
|
| 714 |
gr.Slider(minimum=0, maximum=1, step=0.1, value=0.5, label="Alpha (α)"),
|
|
@@ -725,6 +733,7 @@ def main():
|
|
| 725 |
)
|
| 726 |
)
|
| 727 |
|
|
|
|
| 728 |
# Combine the two tabs using Gradio Tabs component
|
| 729 |
with gr.Blocks() as demo:
|
| 730 |
gr.Markdown("# Vessel Trajectory Prediction and Abnormal Behavior Detection")
|
|
@@ -736,7 +745,7 @@ def main():
|
|
| 736 |
|
| 737 |
# Launch the Gradio interface
|
| 738 |
logging.info("Launching Gradio interface...")
|
| 739 |
-
demo.launch(
|
| 740 |
logging.info("Gradio interface launched successfully.")
|
| 741 |
|
| 742 |
# Run the app
|
|
|
|
| 13 |
import json
|
| 14 |
from math import radians, cos, sin, asin, sqrt, atan2, degrees
|
| 15 |
import time
|
| 16 |
+
import functools
|
| 17 |
|
| 18 |
# ============================
|
| 19 |
# Configure Logging
|
|
|
|
| 690 |
|
| 691 |
# Define the Gradio components for classical prediction tab
|
| 692 |
classical_tab = gr.Interface(
|
| 693 |
+
fn=functools.partial(classical_prediction, models=models, loaded_scalers=loaded_scalers),
|
| 694 |
inputs=[
|
| 695 |
gr.File(label="Upload CSV File", type='filepath'),
|
| 696 |
+
gr.Dropdown(
|
| 697 |
+
choices=["Auto-Select", "Teacher", "Student_North", "Student_Mid", "Student_South"],
|
| 698 |
+
value="Auto-Select",
|
| 699 |
+
label="Choose Model"
|
| 700 |
+
),
|
| 701 |
gr.Number(label="Min MMSI", value=0),
|
| 702 |
gr.Number(label="Max MMSI", value=999999999)
|
| 703 |
],
|
|
|
|
| 708 |
gr.Textbox(label="Error Message", lines=2, visible=False)
|
| 709 |
],
|
| 710 |
title="Classical Prediction & Metrics",
|
| 711 |
+
description=(
|
| 712 |
+
"Upload a CSV file and select a model to get classical evaluation metrics such as MAE, MSE, RMSE. "
|
| 713 |
+
"The inference time is also provided."
|
| 714 |
+
)
|
| 715 |
)
|
| 716 |
|
| 717 |
# Define the Gradio components for abnormal behavior detection tab
|
| 718 |
abnormal_tab = gr.Interface(
|
| 719 |
+
fn=functools.partial(abnormal_behavior_detection),
|
| 720 |
inputs=[
|
| 721 |
gr.File(label="Upload Predicted Positions CSV", type='filepath'),
|
| 722 |
gr.Slider(minimum=0, maximum=1, step=0.1, value=0.5, label="Alpha (α)"),
|
|
|
|
| 733 |
)
|
| 734 |
)
|
| 735 |
|
| 736 |
+
|
| 737 |
# Combine the two tabs using Gradio Tabs component
|
| 738 |
with gr.Blocks() as demo:
|
| 739 |
gr.Markdown("# Vessel Trajectory Prediction and Abnormal Behavior Detection")
|
|
|
|
| 745 |
|
| 746 |
# Launch the Gradio interface
|
| 747 |
logging.info("Launching Gradio interface...")
|
| 748 |
+
demo.launch()
|
| 749 |
logging.info("Gradio interface launched successfully.")
|
| 750 |
|
| 751 |
# Run the app
|