Keras+TensorFlow:“模块'TensorFlow'没有'merge_all_summaries'属性”

2024-09-27 09:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

Keras + tensorflow gives the error "no attribute 'control_flow_ops'"非常相似,从https://blog.keras.io/building-autoencoders-in-keras.html的卷积自动编码器示例中,我得到了错误

[...]lib/python3.5/site-packages/keras/callbacks.py in _set_model(self, model)
    478                     tf.histogram_summary('{}_out'.format(layer),
    479                                          layer.output)
--> 480         self.merged = tf.merge_all_summaries()
    481         if self.write_graph:
    482             if parse_version(tf.__version__) >= parse_version('0.8.0'):

AttributeError: module 'tensorflow' has no attribute 'merge_all_summaries'

我试过了

import tensorflow as tf
tf.merge_all_summaries = tf

但那没用。我该怎么办?

AttributeError: 'module' object has no attribute 'merge_all_summaries'中提到了错误。我还有1.0.0版。但解决办法是什么?我不想降级TensorFlow。


Tags: noinselflayermodelifversiontf
2条回答

答案是适当的迁移。签出https://www.tensorflow.org/install/migration。你看到了吗

- tf.merge_summary
    - should be renamed to tf.summary.merge
- tf.train.SummaryWriter
    - should be renamed to tf.summary.FileWriter

(实际上SummaryWriter也被更改了)所以

import tensorflow as tf
tf.merge_all_summaries = tf

你应该写信

import tensorflow as tf
tf.merge_all_summaries = tf.summary.merge_all
tf.train.SummaryWriter = tf.summary.FileWriter

Make42绝对正确,它们在their answer中描述的更改必须进行,以便迁移代码基以使用TensorFlow 1.0。但是,您看到的错误在Keras库中。幸运的是,这些错误已在Keras代码库since January 2017中修复,因此升级到Keras 1.2.2或更高版本将为您修复该错误。

相关问题 更多 >

    热门问题