python - 出现错误:AttributeError: 'Node' object has no attribute 'output_masks' at flatten layer 用于展平嵌入输出
问题描述
在 keras 中运行 LSTM 和嵌入层
当我们运行 flatten keras 代码时,问题正在发生。
import tensorflow as tf
from tensorflow.keras.layers import Dense,concatenate,Activation,Dropout,Input,LSTM,Embedding
from tensorflow.keras.models import Model
from tensorflow.keras.models import Sequential
tf.keras.backend.clear_session()
input_layer1 = Input(shape=(48432,), dtype='int32', name='input_layer1')
embed_text = Embedding(48432, 100, weights=[embedding_matrix], input_length=1300, trainable=False)
(input_layer1)
#embed = tf.reshape(embed_text(5,48432,100))
text_LSTM = LSTM(32,input_shape=(48432,100),return_sequences=True)(embed_text)
flatten_layer1 = Flatten()(text_LSTM)
#school state Input layer
input_layer2 = Input(shape=(50000,), dtype='int32', name='input_layer2')
embed_school_state = Embedding(30000, 100, input_length=1, trainable=True)(input_layer2)
flatten_layer1 = Flatten()(embed_school_state)
下面是错误信息
*AttributeError Traceback(最近一次调用)* in * 20 input_layer2 = Input(shape=(50000,), dtype='int32', name='input_layer2') * 21 embed_school_state = Embedding(30000, 100, input_length=1, *trainable=True)(input_layer2) *---> 22 flatten_layer1 = Flatten()(embed_school_state)
*\Anaconda3\lib\site-packages\keras\engine\base_layer.py in call (self, *inputs, **kwargs) * 474 # 处理掩码传播。*--> 475 previous_mask = _collect_previous_mask(inputs) * 476 user_kwargs = kwargs.copy() * 477 如果不是 is_all_none(previous_mask):
*~\Anaconda3\lib\site-packages\keras\engine\base_layer.py in *_collect_previous_mask(input_tensors) * 1439 inbound_layer, node_index, tensor_index = x._keras_history * 1440 node = inbound_layer._inbound_nodes[node_index] *-> 1441 mask = node.output_masks[tensor_index] * 1442 mask.append(mask) **AttributeError: 'Node' object has no attribute 'output_masks' **
解决方案
推荐阅读
- javascript - 如何使用 lodash 或 javascript 中的条件对 JSON 进行升序和降序排序
- reactjs - 反应材料 ui multiSelect onclose 事件不起作用
- python - 更改二进制对角矩阵的块顺序
- reactjs - 如何在 VS Code 中更改终端中的目录?
- danger - 无论如何将危险文件拆分为较小的部分?
- sql - 将查询转换为加入
- python - 将图像作为 np 数组上传到 FIrebase 存储
- javascript - 如何过滤与另一个对象列表中的某些条件不匹配的对象列表
- python - Elif 声明行为不端并一次又一次地打开 desktop.ini。为什么?
- angular - 降级 Angular 版本/不是 cli