techmatik / app.py
paulus5's picture
Update app.py
84d6f4a verified
Raw
History Blame Contribute Delete
1.07 kB
import gradio as gr
import matplotlib.pyplot as plt
from utils import detect_anomalies
def analyze(csv_file):
df, threshold = detect_anomalies(csv_file)
plt.figure(figsize=(10,4))
plt.plot(df.iloc[:,0], label="Sensor")
anomalies = df[df["anomaly"]]
plt.scatter(
anomalies.index,
anomalies.iloc[:,0],
color="red",
label="Anomaly"
)
plt.axhline(
threshold,
color="orange",
linestyle="--",
label="Threshold"
)
plt.legend()
output = "plot.png"
plt.savefig(output)
return output, df
demo = gr.Interface(
fn=analyze,
inputs=gr.File(label="Wgraj plik CSV"),
outputs=[
gr.Image(label="Wyniki analizy"),
gr.Dataframe(label="Wyniki")
],
title="Wykrywanie anomalii (Edge AI)",
description="""
Wykryj nietypowe zachowanie maszyn na podstawie danych z czujników.
1. Pobierz przykładowy plik: [sample.csv](sample.csv)
2. Kliknij „Wgraj plik CSV”.
3. Wybierz plik i zobacz wynik analizy AI.
"""
)
demo.launch()