有一种最简单的方法(适用大部分由于版本差异,导致的import红线问题)。
一般这种原代码的trensflow版本都比较老,和新版本的导入语句会有区别,遇到这种导入出现找不到包的情况,建议直接注释掉标红的那行代码,然后找到对应调用该方法的语句(也会标红或),鼠标放在上面(不是点击),会提示需要导入的包的位置,直接点击提示框里的Importxxx就行。到这一步红线应该就消失了
可能是tensorflow版本不同,文件的位置有差异,import语句会有所不同导致的
研究了一下具体的路径:
说明在tensorflow包里没找到keras文件,去该程序编译器(这里编译器为python3.11)对应的tensorflow里看了下,果然没有keras
在该编译器的其他文件夹里,找到了包含要导入的包的keras 目标文件
这时候有两个解决办法
方法1是,把这个keras复制到trensflow文件夹里,原代码改为
from tensorflow.keras.src.preprocessing.image import ImageDataGenerator
方法2是,不动文件,直接修改导入命令为
from keras.src.preprocessing.image import ImageDataGenerator