leo861 commited on
Commit
6e2b7e0
·
verified ·
1 Parent(s): 4fd492d

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +44 -23
app.py CHANGED
@@ -14,32 +14,53 @@ app = Flask(__name__)
14
  socketio = SocketIO(app, cors_allowed_origins="*")
15
 
16
  # Load models
17
- try:
18
- # Try loading from the current directory first
19
- HEART_MODEL_PATH = os.path.join('heart', 'models', 'heart_model.joblib')
20
- logger.info(f"Attempting to load heart model from {HEART_MODEL_PATH}")
21
- heart_model = joblib.load(HEART_MODEL_PATH)
22
- logger.info("Heart model loaded successfully")
23
- except:
24
- try:
25
- # If that fails, try loading from the absolute path
26
- HEART_MODEL_PATH = os.path.join(os.path.dirname(__file__), 'heart', 'models', 'heart_model.joblib')
27
- logger.info(f"Attempting to load heart model from {HEART_MODEL_PATH}")
28
- heart_model = joblib.load(HEART_MODEL_PATH)
29
- logger.info("Heart model loaded successfully")
30
- except Exception as e:
31
- logger.error(f"Could not load heart model: {str(e)}")
32
- heart_model = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
 
 
34
  try:
35
- MODEL_DIR = os.path.join(os.path.dirname(__file__), 'models')
36
- logger.info(f"Attempting to load autoencoder from {MODEL_DIR}")
37
- autoencoder = torch.load(os.path.join(MODEL_DIR, 'best_model.pth'))
38
- autoencoder.eval()
39
- logger.info("Autoencoder model loaded successfully")
40
  except Exception as e:
41
- logger.error(f"Could not load autoencoder model: {str(e)}")
42
- autoencoder = None
43
 
44
  @app.route('/')
45
  def home():
 
14
  socketio = SocketIO(app, cors_allowed_origins="*")
15
 
16
  # Load models
17
+ def load_models():
18
+ global heart_model, autoencoder
19
+ heart_model = None
20
+ autoencoder = None
21
+
22
+ # Define possible model paths
23
+ model_paths = [
24
+ os.path.join('heart', 'models', 'heart_model.joblib'),
25
+ os.path.join(os.path.dirname(__file__), 'heart', 'models', 'heart_model.joblib'),
26
+ os.path.join('/app', 'heart', 'models', 'heart_model.joblib')
27
+ ]
28
+
29
+ # Try loading heart model
30
+ for path in model_paths:
31
+ try:
32
+ logger.info(f"Attempting to load heart model from {path}")
33
+ heart_model = joblib.load(path)
34
+ logger.info("Heart model loaded successfully")
35
+ break
36
+ except Exception as e:
37
+ logger.warning(f"Failed to load heart model from {path}: {str(e)}")
38
+ continue
39
+
40
+ # Try loading autoencoder
41
+ autoencoder_paths = [
42
+ os.path.join('models', 'best_model.pth'),
43
+ os.path.join(os.path.dirname(__file__), 'models', 'best_model.pth'),
44
+ os.path.join('/app', 'models', 'best_model.pth')
45
+ ]
46
+
47
+ for path in autoencoder_paths:
48
+ try:
49
+ logger.info(f"Attempting to load autoencoder from {path}")
50
+ autoencoder = torch.load(path)
51
+ autoencoder.eval()
52
+ logger.info("Autoencoder model loaded successfully")
53
+ break
54
+ except Exception as e:
55
+ logger.warning(f"Failed to load autoencoder from {path}: {str(e)}")
56
+ continue
57
 
58
+ # Load models on startup
59
+ logger.info("Loading trained models...")
60
  try:
61
+ load_models()
 
 
 
 
62
  except Exception as e:
63
+ logger.error(f"Error loading models: {str(e)}")
 
64
 
65
  @app.route('/')
66
  def home():