N-Kibria commited on
Commit
6244f84
·
verified ·
1 Parent(s): e08ea7d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -1
app.py CHANGED
@@ -6,23 +6,63 @@ import torch
6
  import os
7
 
8
  def load_model_and_data():
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  try:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  with open('model_artifacts/hybrid_model.pkl', 'rb') as f:
11
  model = pickle.load(f)
 
12
 
13
  with open('model_artifacts/loader.pkl', 'rb') as f:
14
  loader = pickle.load(f)
 
15
 
16
  with open('model_artifacts/movies.pkl', 'rb') as f:
17
  movies = pickle.load(f)
 
18
 
 
19
  user_ids = sorted(loader.user_id_map.keys())
 
20
 
21
  return model, loader, movies, user_ids
 
 
 
 
22
  except Exception as e:
23
- print(f"Error loading model: {e}")
 
 
24
  return None, None, None, []
25
 
 
26
  print("Loading model and data...")
27
  model, loader, movies_df, user_ids = load_model_and_data()
28
  print(f"Model loaded! Available users: {len(user_ids)}")
 
6
  import os
7
 
8
  def load_model_and_data():
9
+ """Load the trained model and necessary data"""
10
+ import os
11
+
12
+ # Debug: Check what files exist
13
+ print("Checking for files...")
14
+ print(f"Current directory: {os.getcwd()}")
15
+ print(f"Files in current directory: {os.listdir('.')}")
16
+
17
+ if os.path.exists('model_artifacts'):
18
+ print(f"Files in model_artifacts/: {os.listdir('model_artifacts')}")
19
+ else:
20
+ print("ERROR: model_artifacts/ folder does not exist!")
21
+
22
  try:
23
+ # Check each file individually
24
+ files_to_check = [
25
+ 'model_artifacts/hybrid_model.pkl',
26
+ 'model_artifacts/loader.pkl',
27
+ 'model_artifacts/movies.pkl'
28
+ ]
29
+
30
+ for file_path in files_to_check:
31
+ if not os.path.exists(file_path):
32
+ print(f"ERROR: Missing file: {file_path}")
33
+ else:
34
+ file_size = os.path.getsize(file_path) / (1024*1024) # MB
35
+ print(f"Found: {file_path} ({file_size:.2f} MB)")
36
+
37
+ # Load files
38
  with open('model_artifacts/hybrid_model.pkl', 'rb') as f:
39
  model = pickle.load(f)
40
+ print("✓ Loaded hybrid_model.pkl")
41
 
42
  with open('model_artifacts/loader.pkl', 'rb') as f:
43
  loader = pickle.load(f)
44
+ print("✓ Loaded loader.pkl")
45
 
46
  with open('model_artifacts/movies.pkl', 'rb') as f:
47
  movies = pickle.load(f)
48
+ print("✓ Loaded movies.pkl")
49
 
50
+ # Get list of users
51
  user_ids = sorted(loader.user_id_map.keys())
52
+ print(f"✓ Model loaded successfully! {len(user_ids)} users available")
53
 
54
  return model, loader, movies, user_ids
55
+ except FileNotFoundError as e:
56
+ print(f"ERROR: File not found - {e}")
57
+ print("Make sure all pkl files are in the model_artifacts/ folder")
58
+ return None, None, None, []
59
  except Exception as e:
60
+ print(f"ERROR loading model: {type(e).__name__}: {e}")
61
+ import traceback
62
+ traceback.print_exc()
63
  return None, None, None, []
64
 
65
+
66
  print("Loading model and data...")
67
  model, loader, movies_df, user_ids = load_model_and_data()
68
  print(f"Model loaded! Available users: {len(user_ids)}")