yzhao062/pyod

Cannot save AutoEncoder

Open

#256 opened on Dec 6, 2020

View on GitHub
 (6 comments) (1 reaction) (1 assignee)Python (7,762 stars) (1,308 forks)batch import
buggood first issuehelp wanted

Description

The official instructions say to use joblib for pickling PyOD models.

This fails for AutoEncoders, or any other TensorFlow-backed model as far as I can tell. The error is:

>>> dump(model, 'model.joblib')
...
TypeError: can't pickle _thread.RLock objects

Note that it's not sufficient to save the underlying Keras Sequential model, since I need the methods & variables of BaseDetector (like .decision_scores_ or .decision_function().

Contributor guide