File size: 856 Bytes
408a9b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""Re-save models with importable AutoencoderWrapper."""
import os, sys
sys.path.insert(0, '/app/fraud_detection')
import joblib
import torch
from ae_model import Autoencoder, AutoencoderWrapper
from config import MODELS_DIR, DATA_DIR

# Load non-AE models
models = joblib.load(os.path.join(MODELS_DIR, "all_models.joblib"))
print(f"Loaded models: {list(models.keys())}")

# Rebuild autoencoder
data = joblib.load(os.path.join(DATA_DIR, "processed_data.joblib"))
input_dim = data['X_train'].shape[1]
ae = Autoencoder(input_dim)
ae.load_state_dict(torch.load(os.path.join(MODELS_DIR, "autoencoder.pt"), weights_only=True))
ae.eval()

models['Autoencoder'] = AutoencoderWrapper(ae)

# Save
joblib.dump(models, os.path.join(MODELS_DIR, "all_models_with_ae.joblib"))
print(f"Saved {len(models)} models with AE wrapper")
print(f"Models: {list(models.keys())}")