bteodoru commited on
Commit
147fe82
·
verified ·
1 Parent(s): 1098b9a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -6
app.py CHANGED
@@ -53,14 +53,67 @@ app = FastAPI()
53
  # )
54
 
55
  # Încărcăm modelul
 
 
 
 
 
 
 
 
 
56
  try:
57
- model = joblib.load('rf_model_optim.joblib')
58
- FEATURE_ORDER = model.feature_names_in_ # Obținem ordinea corectă a caracteristicilor
59
- print("Model încărcat cu succes! Feature Order:", FEATURE_ORDER)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  except Exception as e:
61
- print(f"Eroare la încărcarea modelului: {str(e)}")
62
- model = None # Setăm modelul ca None în caz de eroare
63
- FEATURE_ORDER = [] # Inițializăm o listă goală pentru a evita erorile ulterioare
 
 
64
 
65
  # # Definim clase personalizate pentru erori
66
  # class CementPercentError(PydanticValueError):
 
53
  # )
54
 
55
  # Încărcăm modelul
56
+ # try:
57
+ # model = joblib.load('rf_model_optim.joblib')
58
+ # FEATURE_ORDER = model.feature_names_in_ # Obținem ordinea corectă a caracteristicilor
59
+ # print("Model încărcat cu succes! Feature Order:", FEATURE_ORDER)
60
+ # except Exception as e:
61
+ # print(f"Eroare la încărcarea modelului: {str(e)}")
62
+ # model = None # Setăm modelul ca None în caz de eroare
63
+ # FEATURE_ORDER = [] # Inițializăm o listă goală pentru a evita erorile ulterioare
64
+
65
  try:
66
+ import os
67
+ print(f"Director curent: {os.getcwd()}")
68
+ print(f"Fișiere în director: {os.listdir('.')}")
69
+
70
+ # Verifică dacă fișierul există
71
+ model_path = 'rf_model_optim.joblib'
72
+ if not os.path.exists(model_path):
73
+ print(f"EROARE: Fișierul {model_path} nu există!")
74
+ model = None
75
+ FEATURE_ORDER = []
76
+ else:
77
+ print(f"Fișierul {model_path} există, încercăm să-l încărcăm...")
78
+
79
+ # Încarcă modelul cu excepții detaliate
80
+ try:
81
+ model = joblib.load(model_path)
82
+ print(f"Model încărcat! Tip: {type(model)}")
83
+
84
+ # Verifică proprietățile modelului
85
+ if hasattr(model, 'feature_names_in_'):
86
+ FEATURE_ORDER = model.feature_names_in_
87
+ print(f"Feature names din model: {FEATURE_ORDER}")
88
+ else:
89
+ print("Modelul nu are atributul feature_names_in_")
90
+ # Setează valorile implicite
91
+ FEATURE_ORDER = np.array(['cement_perecent', 'curing_period', 'compaction_rate'])
92
+
93
+ # Verifică dacă poate face predicții
94
+ test_data = pd.DataFrame({
95
+ 'cement_perecent': [5],
96
+ 'curing_period': [28],
97
+ 'compaction_rate': [1.0]
98
+ })
99
+ try:
100
+ test_pred = model.predict(test_data)
101
+ print(f"Test predicție reușit: {test_pred}")
102
+ except Exception as pred_e:
103
+ print(f"Eroare la predicție de test: {str(pred_e)}")
104
+ traceback.print_exc()
105
+
106
+ except Exception as load_e:
107
+ print(f"Eroare la încărcarea modelului: {str(load_e)}")
108
+ traceback.print_exc()
109
+ model = None
110
+ FEATURE_ORDER = []
111
  except Exception as e:
112
+ print(f"Eroare generală: {str(e)}")
113
+ traceback.print_exc()
114
+ model = None
115
+ FEATURE_ORDER = []
116
+
117
 
118
  # # Definim clase personalizate pentru erori
119
  # class CementPercentError(PydanticValueError):