import pickle import joblib import sys print("Loading models with current environment...") print("numpy version:", sys.version) # Load models knn_model = joblib.load("models/batik_knn_model_95acc.pkl") label_encoder = joblib.load("models/batik_classes.pkl") scaler = joblib.load("models/scaler.joblib") metadata = joblib.load("models/batik_model_metadata.pkl") print(" Models loaded successfully") print("Re-saving with protocol=4 for compatibility...") # Re-save with older pickle protocol joblib.dump(knn_model, "models/batik_knn_model_95acc_compat.pkl", protocol=4) joblib.dump(label_encoder, "models/batik_classes_compat.pkl", protocol=4) joblib.dump(scaler, "models/scaler_compat.joblib", protocol=4) joblib.dump(metadata, "models/batik_model_metadata_compat.pkl", protocol=4) print(" Models re-saved with protocol=4") print("Testing load...") # Test load test_knn = joblib.load("models/batik_knn_model_95acc_compat.pkl") print(" Compatible models created successfully!")