AttributeError: 'Tensor' 对象没有属性 '_keras_history'

新手上路,请多包涵

我查找了所有“’Tensor’ 对象没有属性 ***”,但似乎没有一个与 Keras 相关(除了 TensorFlow: AttributeError: ‘Tensor’ object has no attribute ‘log10’ 这没有帮助)…

我正在制作一种 GAN(生成对抗网络)。在这里你可以找到结构。

 Layer (type)                     Output Shape          Param #         Connected to
_____________________________________________________________________________
input_1 (InputLayer)             (None, 30, 91)        0
_____________________________________________________________________________
model_1 (Model)                  (None, 30, 1)         12558           input_1[0][0]
_____________________________________________________________________________
model_2 (Model)                  (None, 30, 91)        99889           input_1[0][0]
                                                                       model_1[1][0]
_____________________________________________________________________________
model_3 (Model)                  (None, 1)             456637          model_2[1][0]
_____________________________________________________________________________

我预训练了 model_2 和 model_3。问题是我使用由 0 和 1 组成的列表对 model_2 进行了预训练,但 model_1 返回了接近的值。所以我考虑使用以下代码对 model1_output 进行舍入:model1_out 上的 K.round()。

 import keras.backend as K
[...]
def make_gan(GAN_in, model1, model2, model3):
    model1_out = model1(GAN_in)
    model2_out = model2([GAN_in, K.round(model1_out)])
    GAN_out = model3(model2_out)
    GAN = Model(GAN_in, GAN_out)
    GAN.compile(loss=loss, optimizer=model1.optimizer, metrics=['binary_accuracy'])
    return GAN
[...]

我有以下错误:

AttributeError: ‘Tensor’ 对象没有属性 ‘_keras_history’

完整追溯:

 Traceback (most recent call last):
  File "C:\Users\Asmaa\Documents\BillyValuation\GFD.py", line 88, in <module>
GAN = make_gan(inputSentence, G, F, D)
  File "C:\Users\Asmaa\Documents\BillyValuation\GFD.py", line 61, in make_gan
GAN = Model(GAN_in, GAN_out)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\legacy\interfaces.py", line 88, in wrapper
return func(*args, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\topology.py", line 1705, in __init__
build_map_of_graph(x, finished_nodes, nodes_in_progress)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\topology.py", line 1695, in build_map_of_graph
layer, node_index, tensor_index)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\topology.py", line 1695, in build_map_of_graph
layer, node_index, tensor_index)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\topology.py", line 1665, in build_map_of_graph
layer, node_index, tensor_index = tensor._keras_history
AttributeError: 'Tensor' object has no attribute '_keras_history'

我在 Windows 7 上使用 Python 3.6 和 Spyder 3.1.4。上周我用 pip 升级了 TensorFlow 和 Keras。感谢您提供的任何帮助!

原文由 Maëva LC 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 653
1 个回答

我的问题是在 keras 上使用“+”而不是“添加”

原文由 peikuo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题