TypeError:'Tensor'对象不可调用| Keras-Bert

问题描述 投票:0回答:2
inputs = model.inputs[:2] 
layer_output = model.get_layer('Encoder-12-FeedForward-Norm').output  
input_layer= keras.layers.Input(shape=(SEQ_LEN,768))(layer_output)
conv_layer= keras.layers.Conv1D(100, kernel_size=3, activation='relu', data_format='channels_first')(input_layer)   
maxpool_layer = keras.layers.MaxPooling1D(pool_size=4)(conv_layer)
flat_layer= keras.layers.Flatten()(maxpool_layer)
outputs = keras.layers.Dense(units=3, activation='softmax')(flat_layer)
model = keras.models.Model(inputs, outputs)
model.compile(RAdam(learning_rate =LR),loss='sparse_categorical_crossentropy',metrics=['sparse_categorical_accuracy'])

并且我一直收到此错误TypeError: 'Tensor' object is not callable,我知道layer_output是张量而不是层,Keras可处理层。但是我发现很难找出正确的方法。我以前用相似的输入构建了一个biLSTM模型,并且工作正常。有人可以向我指出一些可以帮助我更好地理解问题的东西吗?我尝试将input_layer传递给conv_layer,但出现此错误TypeError: Layer conv1d_1 does not support masking, but was passed an input_mask: Tensor("Encoder-12-FeedForward-Add/All:0", shape=(?, 35), dtype=bool)

我正在建立此模型:inputs = model.inputs [:2] layer_output = model.get_layer('Encoder-12-FeedForward-Norm')。output input_layer = keras.layers.Input(shape =(SEQ_LEN,768 ))(layer_output)...

python-3.x keras conv-neural-network keras-layer
2个回答
0
投票

尝试添加此:


0
投票
input_layer= keras.layers.Input(shape=(SEQ_LEN,768))(layer_output)
© www.soinside.com 2019 - 2024. All rights reserved.