MatPipe save/load does not work on TPOTAdaptor pipelines
Closed this issue · 1 comments
ardunn commented
from automatminer import get_preset_config, MatPipe
from matminer.datasets import load_dataset
df = load_dataset("matbench_jdft2d")
fname = "example.p"
pipe = MatPipe(**get_preset_config("debug"))
pipe.fit(df, "exfoliation_en")
pipe.save(fname)
loaded_pipe = MatPipe.load(fname)
output = loaded_pipe.predict(df)
print(output)
Fails with
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/utils/pkg.py", line 65, in wrapper
return func(*args, **kwargs)
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/pipeline.py", line 170, in predict
predictions = self.learner.predict(df, self.target)
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/utils/pkg.py", line 65, in wrapper
return func(*args, **kwargs)
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/utils/log.py", line 94, in wrapper
result = meth(*args, **kwargs)
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/automl/base.py", line 115, in predict
y_pred = self.best_pipeline.predict(X)
File "/home/mag1/atomate/atomate_env/lib/python3.6/site-packages/automatminer/automl/adaptors.py", line 197, in best_pipeline
return self._backend.fitted_pipeline_
AttributeError: 'Pipeline' object has no attribute 'fitted_pipeline_'