Petr-UI-GA commited on
Commit
031eb70
·
verified ·
1 Parent(s): 2d22fad

Deploy from Colab

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ neiro1/model_v6.keras filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,12 +1 @@
1
- ---
2
- title: Neiro1
3
- emoji: 💻
4
- colorFrom: blue
5
- colorTo: pink
6
- sdk: gradio
7
- sdk_version: 5.49.1
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ # Нейронка v6 на Gradio (HF Spaces)
 
 
 
 
 
 
 
 
 
 
 
app.py ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import json, os
3
+ import numpy as np
4
+ import pandas as pd
5
+ import gradio as gr
6
+ import joblib
7
+ import tensorflow as tf
8
+
9
+ MODEL_PATH = "neiro1/model_v6.keras"
10
+ PP_PATH = "neiro1/preprocess_v6.joblib"
11
+ META_PATH = "neiro1/meta_v6.json"
12
+
13
+ model = tf.keras.models.load_model(MODEL_PATH)
14
+ preprocess = joblib.load(PP_PATH)
15
+
16
+ with open(META_PATH, "r", encoding="utf-8") as f:
17
+ meta = json.load(f)
18
+
19
+ # 1) пытаемся взять список фич из препроцессора (sklearn>=1.0)
20
+ FEATURES = None
21
+ for attr in ["feature_names_in_", "features_in_", "input_features_"]:
22
+ if hasattr(preprocess, attr):
23
+ try:
24
+ arr = getattr(preprocess, attr)
25
+ if arr is not None and len(arr) > 0:
26
+ FEATURES = list(arr)
27
+ break
28
+ except Exception:
29
+ pass
30
+
31
+ # 2) если нет — из meta.json
32
+ if FEATURES is None:
33
+ FEATURES = meta.get("features", [])
34
+
35
+ # 3) если и тут пусто — можно руками прописать:
36
+ if not FEATURES:
37
+ FEATURES = meta.get("expected_features", []) or ["feat1","feat2","feat3"]
38
+
39
+ def build_features(inputs_dict):
40
+ X = pd.DataFrame([{k: inputs_dict[k] for k in FEATURES}])
41
+ Xp = preprocess.transform(X)
42
+ return Xp
43
+
44
+ def predict_fn(**kwargs):
45
+ Xp = build_features(kwargs)
46
+ y = model.predict(Xp, verbose=0)
47
+ if y.ndim == 2 and y.shape[1] == 1:
48
+ y = y.ravel()
49
+ pred = float(y[0])
50
+ return f"Прогноз: {pred:,.4f}"
51
+
52
+ with gr.Blocks(title="Нейронка v6") as demo:
53
+ gr.Markdown("# Нейронка v6\nЗаполни параметры → жми Предсказать.")
54
+
55
+ inputs = []
56
+ for f in FEATURES:
57
+ # при желании замени на Slider/Dropdown для категорий
58
+ inputs.append(gr.Number(label=f))
59
+
60
+ out = gr.Textbox(label="Результат", lines=2)
61
+ btn = gr.Button("Предсказать")
62
+
63
+ def _wrap(*vals):
64
+ data = {FEATURES[i]: vals[i] for i in range(len(FEATURES))}
65
+ return predict_fn(**data)
66
+
67
+ btn.click(_wrap, inputs=inputs, outputs=out)
68
+ demo.queue(concurrency_count=4, max_size=32)
69
+
70
+ if __name__ == "__main__":
71
+ demo.launch(server_name="0.0.0.0", server_port=7860)
neiro1/meta_v6.json ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "route": "SFO_MIA",
3
+ "airlines": [
4
+ "Alaska",
5
+ "American airlines",
6
+ "Delta",
7
+ "Jetblue",
8
+ "Southwest",
9
+ "Spirit",
10
+ "United"
11
+ ],
12
+ "global_mean": 56.50381679389313,
13
+ "blend_month": {
14
+ "7": 31.946564885496187,
15
+ "8": 54.81622844218264,
16
+ "9": 52.90095419847328,
17
+ "10": 57.78141873021783,
18
+ "11": 60.75095419847328,
19
+ "12": 72.88152671755725
20
+ },
21
+ "blend_airline": {
22
+ "Alaska": 54.12659033078881,
23
+ "American airlines": 57.262529040823104,
24
+ "Delta": 50.641526717557255,
25
+ "Jetblue": 56.56152671755726,
26
+ "Southwest": 55.407442748091604,
27
+ "Spirit": 57.372519083969465,
28
+ "United": 61.62265318753868
29
+ },
30
+ "am_means": {
31
+ "Alaska_7": 1.0,
32
+ "Alaska_8": 48.333333333333336,
33
+ "Alaska_9": 50.0,
34
+ "Alaska_10": 56.25,
35
+ "Alaska_11": 63.5,
36
+ "Alaska_12": 86.0,
37
+ "American airlines_7": 2.0,
38
+ "American airlines_8": 74.0,
39
+ "American airlines_9": 44.75,
40
+ "American airlines_10": 47.0,
41
+ "American airlines_11": 65.33333333333333,
42
+ "American airlines_12": 90.0,
43
+ "Delta_7": 1.25,
44
+ "Delta_9": 62.333333333333336,
45
+ "Delta_10": 57.75,
46
+ "Delta_11": 69.5,
47
+ "Jetblue_7": 1.0,
48
+ "Jetblue_8": 80.0,
49
+ "Jetblue_9": 53.25,
50
+ "Jetblue_10": 62.75,
51
+ "Jetblue_11": 60.8,
52
+ "Southwest_7": 1.0,
53
+ "Southwest_8": 57.25,
54
+ "Southwest_9": 52.6,
55
+ "Southwest_10": 58.0,
56
+ "Southwest_11": 52.0,
57
+ "Southwest_12": 79.5,
58
+ "Spirit_8": 42.75,
59
+ "Spirit_9": 50.833333333333336,
60
+ "Spirit_10": 61.333333333333336,
61
+ "Spirit_11": 63.42857142857143,
62
+ "Spirit_12": 77.5,
63
+ "United_8": 47.333333333333336,
64
+ "United_9": 50.8,
65
+ "United_10": 55.666666666666664,
66
+ "United_11": 61.6,
67
+ "United_12": 84.625
68
+ },
69
+ "am_counts": {
70
+ "Alaska_7": 1,
71
+ "Alaska_8": 3,
72
+ "Alaska_9": 3,
73
+ "Alaska_10": 4,
74
+ "Alaska_11": 2,
75
+ "Alaska_12": 1,
76
+ "American airlines_7": 1,
77
+ "American airlines_8": 2,
78
+ "American airlines_9": 4,
79
+ "American airlines_10": 1,
80
+ "American airlines_11": 3,
81
+ "American airlines_12": 2,
82
+ "Delta_7": 4,
83
+ "Delta_9": 3,
84
+ "Delta_10": 4,
85
+ "Delta_11": 4,
86
+ "Jetblue_7": 1,
87
+ "Jetblue_8": 1,
88
+ "Jetblue_9": 4,
89
+ "Jetblue_10": 4,
90
+ "Jetblue_11": 5,
91
+ "Southwest_7": 1,
92
+ "Southwest_8": 4,
93
+ "Southwest_9": 5,
94
+ "Southwest_10": 6,
95
+ "Southwest_11": 4,
96
+ "Southwest_12": 2,
97
+ "Spirit_8": 4,
98
+ "Spirit_9": 6,
99
+ "Spirit_10": 6,
100
+ "Spirit_11": 7,
101
+ "Spirit_12": 2,
102
+ "United_8": 3,
103
+ "United_9": 5,
104
+ "United_10": 6,
105
+ "United_11": 5,
106
+ "United_12": 8
107
+ },
108
+ "w_month": 10,
109
+ "w_air": 10,
110
+ "w_am": 25,
111
+ "floor_frac": 0.25,
112
+ "exog_params": {
113
+ "SUMMER_MULT": 1.6,
114
+ "FRI_MULT": 1.1,
115
+ "SAT_MULT": 1.15,
116
+ "SUN_MULT": 1.1,
117
+ "SPRING_BREAK_MULT": 1.12,
118
+ "MEMORIAL_MULT": 1.35,
119
+ "JULY4_MULT": 1.3,
120
+ "LABOR_MULT": 1.25,
121
+ "THANKSGIVING_MULT": 1.6,
122
+ "XMAS_NEWYEAR_MULT": 1.7
123
+ },
124
+ "calibration_k_airline": 1.0354253783141563,
125
+ "calibration_k_route": 5.177126891570781,
126
+ "airline_share_overall": {
127
+ "United": 0.23169413671980546,
128
+ "Spirit": 0.1949473115374223,
129
+ "Southwest": 0.16319913536881925,
130
+ "Jetblue": 0.11469873007295325,
131
+ "American airlines": 0.10159416373952986,
132
+ "Alaska": 0.09916238854363686,
133
+ "Delta": 0.09470413401783302
134
+ },
135
+ "airline_whitelist": [
136
+ "United",
137
+ "Spirit",
138
+ "Southwest",
139
+ "Jetblue",
140
+ "American airlines",
141
+ "Alaska",
142
+ "Delta"
143
+ ],
144
+ "capacity_target_summer": 1000.0
145
+ }
neiro1/model_v6.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb8f8818ce17e249903edd39248e8679b29d3fecac0b8cbbb0efd1aa3e5e350f
3
+ size 369255
neiro1/preprocess_v6.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3642891c51a1f85f3d37ebb0ac4cee67d58112d82f6e16ec4e8f1f33fb25dc7f
3
+ size 2947
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gradio>=4.44.0
2
+ tensorflow==2.15.0
3
+ scikit-learn
4
+ joblib
5
+ pandas
6
+ numpy