| 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() |