File size: 1,068 Bytes
665124b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84d6f4a
665124b
84d6f4a
 
665124b
4add438
665124b
81922aa
 
 
84d6f4a
81922aa
665124b
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()