一、 问题描述:
我用conda安装创建了虚拟环境,然后在环境里安装了numpy、pandas、scikit-learn和tensorflow,但在运行程序是报错如下:
ModuleNotFoundError Traceback (most recent call last)
Cell In[3], line 7
5 from tensorflow.keras.models import Sequential
6 from tensorflow.keras.layers import LSTM, Dense
----> 7 from tensorflow.keras.wrappers.scikit_learn import KerasRegressor
ModuleNotFoundError: No module named ‘tensorflow.keras.wrappers’
运行代码如下
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
from tensorflow.keras.wrappers.scikit_learn import KerasRegressor
网上很多说是第七行改为 from scikeras.wrappers import KerasRegressor 但是我还是会报错
尝试:
弄了一天的环境,想了各种办法,换了环境,重新装还是不行。最后我想应该是python版本问题和tensorflow版本问题。
二、解决办法:
降低环境里创建的python=3.10 改成python=3.8还是不行,然后我就降低tensorflow=2.18改成tensorflow=2.12,我看网上安装成功2.13和2.14都可以
以下代码不解释,不知道看我以往安装torch解析
# 重现创环境如下:
conda create --name tensorflow2.12 python=3.8
# 激活环境
conda activate tensorflow2.12
# 激活后
(tensorflow2.12) C:\Users\>
# 安装tensorflow2.12版本
(tensorflow2.12) C:\Users\>conda install -c conda-forge tensorflow=2.12
# 然后重启jupyter notebook
重新运行报错
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
from tensorflow.keras.wrappers.scikit_learn import KerasRegressor
# 报错
ModuleNotFoundError Traceback (most recent call last)
Cell In[7], line 7
5 from tensorflow.keras.models import Sequential
6 from tensorflow.keras.layers import LSTM, Dense
----> 7 from tensorflow.keras.wrappers.scikit_learn import KerasRegressor
ModuleNotFoundError: No module named 'tensorflow.keras.wrappers'
原因是第七行要改成
from scikeras.wrappers import KerasRegressor
然后还报错,需要重新安装scikeras库,错误提示 ModuleNotFoundError: No module named ‘scikeras’ 表明 Python 无法找到名为 scikeras 的模块。scikeras 是一个将 Keras 模型包装为 scikit-learn 估计器的库,但它不是 TensorFlow 官方库的一部分,因此需要单独安装。
要解决这个问题,您需要安装 scikeras 库。您可以使用 pip 来安装它,
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 7
5 from tensorflow.keras.models import Sequential
6 from tensorflow.keras.layers import LSTM, Dense
----> 7 from scikeras.wrappers import KerasRegressor
ModuleNotFoundError: No module named 'scikeras'
最后在jupyter notebook里创建新文件,或者退回环境里
conda install scikeras
pip install scikeras
最后还不行就是装核
#记得装
conda create -n 环境名 # creates new virtual env
conda activate 环境名 # activate environment in terminal
conda install ipykernel # install Python kernel in new conda env
ipython kernel install --user --name=环境名-kernel # configure Jupyter to use Python kernel
标签:wrappers,conda,keras,虚拟环境,报错,import,tensorflow,scikeras
From: https://blog.csdn.net/qq_55433305/article/details/144409274