用于文本分类的python中带有注意层的BI LSTM

用于文本分类的python中带有注意层的BI LSTM,python,tensorflow,keras,deep-learning,nlp,Python,Tensorflow,Keras,Deep Learning,Nlp,我想应用这个方法来实现Bi LSTM。此处讨论了该方法: 我得到以下错误: “模块”对象不可调用 不能在此行中应用乘法: sent_representation=merge([lstm,attention],mode='mul') 从keras.layers导入合并 导入tensorflow作为tf 从tensorflow.keras.layers导入串联、密集、输入、LSTM、嵌入、退出、激活、展平、置换、重复向量 从tensorflow.keras.layers导入双向 inp=Input(

我想应用这个方法来实现Bi LSTM。此处讨论了该方法:

我得到以下错误:
“模块”对象不可调用

不能在此行中应用乘法:
sent_representation=merge([lstm,attention],mode='mul')

从keras.layers导入合并
导入tensorflow作为tf
从tensorflow.keras.layers导入串联、密集、输入、LSTM、嵌入、退出、激活、展平、置换、重复向量
从tensorflow.keras.layers导入双向
inp=Input(shape=(maxlen,),dtype='float32')
x=嵌入(最大特征、嵌入大小、权重=[emb\U矩阵])(inp)
lstm=双向(lstm(50,返回序列=True),name=“bi\u lstm\u 0”)(x)
注意=密集(1,激活='tanh')(lstm)
注意=展平()(注意)
注意=激活('softmax')(注意)
注意=重复向量(最大功能*2)(注意)
注意=排列([2,1])(注意)
已发送表示=合并([lstm,注意],模式='mul')
发送表示法=λ(λxin:K.sum(xin,轴=1))(发送表示法)
输出=密集(3,activation=“softmax”)(发送表示)
在Keras中,是一个模块,包含实现各种方式合并其他层输出的层。您需要选择要用于合并状态的方法


在这个特殊的例子中,您需要修改输出。

我删除了与问题无关的代码。在原始代码中,您使用softmax进行了两次投影,它不会像那样学习。谢谢。你能帮我解决我的问题吗。我是nlp和deep learning的新手,每天我都在关注这个问题,每次我出现新的错误。因为最后我需要3个标签,我不能使用sigmoid或。。你能帮我吗?但是你已经在用3个标签的softmax标准化了。那么问题出在哪里呢?那就是注意力层。你能告诉我,我怎样才能添加连接?它是
tensorflow.keras.layers.concatenate
。您已经导入了它。我尝试了,但错误是:无法将类型为的对象转换为张量。目录:。将铸造元素考虑为支持类型。