-
- Notifications
You must be signed in to change notification settings - Fork 338
Closed
Labels
Description
Hello,
I have a class that is in charge to load some pickle files for a "machine learning" purpose.
Specifically, I call my class, called Regressor, in this way, through the usage of a .ini file reporting all the desired settings:
from dependency_injector import containers, providers from dependency_injector.wiring import inject, Provide from src.service.costestimator.configuration.configuration import Container class Regressor(): def __init__(self, regressors_list = Provide[Container.config.regressors_scalers.regressors_list.as_(str)], regressors_path = Provide[Container.config.regressors_scalers.regressors_path.as_(str)], scalers_path = Provide[Container.config.regressors_scalers.scalers_path.as_(str)], file_type_regressors = Provide[Container.config.regressors_scalers.file_type_regressors.as_(str)], file_type_scalers = Provide[Container.config.regressors_scalers.file_type_scalers.as_(str)]):
When it comes to the "core" part of the code, it fails to load the pickle file:
def load_model(self): if self.regressors_out is None: resulting_reg = {} resulting_scal = {} for regressor in self.regressors_list: with open(self.regressors_path.joinpath(self.regressors_path, f'{regressor}.{self.file_type_regressors}'), 'rb') as reg: resulting_reg[regressor] = pickle.load(reg)
The error I get is the following:
ImportError: cannot import name '_ccallback_c' from 'scipy._lib'
The funny part is that: if I instantiate my Regressor class using the "Factory approach", it perfectly works.
Any idea? Thank you in advance for any response