【发布时间】:2021-10-16 14:22:52
【问题描述】:
我想部署一个机器学习模型并拥有环境 yml 文件和模型 pickle 文件。当我在依赖项中包含 scikit-learn=0.23.2 时,conda 会自动卸载此 scikit-learn 版本并安装 scikit-learn-0.24.2 。因此,我在加载 pickle 文件时收到以下警告。
用户警告:在使用 0.24.2 版本时,尝试从 0.23.2 版本中取消提取估算器 DecisionTreeClassifier。这可能会导致破坏代码或无效结果。采用 风险自负。
这里是环境:
name: environment
channels:
- defaults
dependencies:
- blas=1.0
- ca-certificates=2021.5.25
- certifi=2021.5.30
- icc_rt=2019.0.0
- intel-openmp=2021.2.0
- joblib=0.17.0
- mkl=2020.2
- mkl-service=2.3.0
- mkl_fft=1.3.0
- mkl_random=1.1.1
- numpy=1.19.2
- numpy-base=1.19.2
- openssl=1.1.1k
- pandas=1.2.4
- patsy=0.5.1
- pickleshare=0.7.5
- pip=21.1.1
- pyodbc=4.0.30
- python=3.7.4
- python-dateutil
- pytz=2021.1
- scipy=1.6.2
- setuptools=52.0.0
- six=1.15.0
- sqlite=3.35.4
- statsmodels=0.12.0
- threadpoolctl=2.1.0
- vc=14.2
- vs2015_runtime=14.27.29016
- wheel=0.36.2
- wincertstore=0.2
- scikit-learn=0.23.2
- pip:
- imblearn==0.0
prefix: C:\Users
而conda env create -f environment.yml的结果是:
Installing collected packages: scikit-learn, imbalanced-learn, imblearn
Attempting uninstall: scikit-learn
Found existing installation: scikit-learn 0.23.2
Uninstalling scikit-learn-0.23.2:
Successfully uninstalled scikit-learn-0.23.2
Successfully installed imbalanced-learn-0.8.0 imblearn-0.0 scikit-learn-0.24.2
我还尝试通过 pip 安装 scikit-learn=0.23.2,但在加载模型时我没有在本地机器中收到警告。但是 scikit-learn 不应该在部署环境中通过 pip 安装。你有什么想法吗?
【问题讨论】:
标签: python virtualenv conda