python - Tensorflow,Keras:“模型”对象没有属性“_get_distribution_strategy”
问题描述
我正在尝试使用 CNN 运行视频分类代码,但是在训练模型时,出现此错误:
文件“C:\Users[我的名字]\anaconda3\envs\tensorflow\lib\site-packages\tensorflow_core\python\keras\callbacks.py”,第 1532 行,在 set_model self.log_dir,self.model._get_distribution_strategy() ) # pylint: disable=protected-access AttributeError: 'Model' object has no attribute '_get_distribution_strategy'
据我了解,这是直接链接到库 keras 的错误。有人知道是否有办法解决它,或者是否有以前版本的 keras,其中 'model' 对象具有属性 '_get_distribution_strategy' ?我在最近几天尝试运行的许多类似代码中都看到了这个错误,所以我不敢相信我是唯一一个遇到这个问题的人。
谢谢大家的帮助。
(编辑 :
这是错误似乎来自的函数 train_model :
def train_model(model, nb_epoch, generators, callbacks=[]):
train_generator, validation_generator = generators
model.fit_generator(
train_generator,
steps_per_epoch=100,
validation_data=validation_generator,
validation_steps=10,
epochs=nb_epoch,
callbacks=callbacks)
return model
这是进口的:
from keras.applications.inception_v3 import InceptionV3
from keras.optimizers import SGD
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D
from keras.callbacks import ModelCheckpoint, TensorBoard, EarlyStopping
)
解决方案
问题来自使用不兼容的tensorflow
和版本keras
。尝试将所有导入更改from keras
为from tensorflow.keras
from tensorflow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.callbacks import ModelCheckpoint, TensorBoard, EarlyStopping
如果它不起作用,请尝试卸载 keras 并在答案中使用相同的导入。
推荐阅读
- javascript - 如何更新正在“react-router-dom”路由上呈现的组件?
- vb.net - 文本框列表中的文本类型显示在 datagridview 中
- amazon-web-services - 在 Athena CTAS 上创建 100 多个分区的替代方法
- python - AttributeError: 'list' object has no attribute 'shape' 出现在 PyCharm 但程序在 Jupyter Notebook 中完美运行
- php - Laravel 购物车应用无法显示商品总数
- sql - 是否可以有条件地在 Oracle 中对不同数据类型的列进行透视?
- java - 正则表达式删除java中的特殊字符
- java - 如何通过 postgresql 查询在字符串列表中搜索枚举?
- ruby-on-rails - 如何在设计中为开发和生产设置不同的密码长度
- node.js - NodeJS 正常运行时间和时代