转载:keras多输入lstm形式和tf2 lstm加attention

本文介绍了如何在Keras中实现多输入的LSTM模型进行二分类和多分类任务,以及在TensorFlow 2中如何添加Attention机制到LSTM模型。同时,文章提到了在自定义Model时保存和加载模型需要注意的问题,以及预测时的维度处理技巧。
摘要由CSDN通过智能技术生成

1、keras多输入二分类与多分类
二分类

X11=X1.reshape(X1.shape[0],n_timesteps,X1.shape[1])
X22=X2.reshape(X2.shape[0],n_timesteps,X2.shape[1])
X33=X3.reshape(X3.shape[0],n_timesteps,X3.shape[1])
# y1=OneHotEncoder(sparse = False).fit_transform(y)
# y2 = y1.reshape(y1.shape[0],1,y1.shape[1])
y1 = np.reshape(np.array(clicks_all1_100000_new['gender']),(-1,1))

y2=OneHotEncoder(sparse = False).fit_transform(y1)
y3 = y2.reshape(y2.shape[0],1,y2.shape[1])
print(X11,y3)
# define two sets of inputs
inputA = Input(shape=(1,30))
inputB = Input(shape=(1,30))
inputC = Input(shape=(1,30))
 
# the first branch operates on the first input
x = Bidirectional(LSTM(60, return_sequences=True))(inputA)
# x = Dense(8, activation="relu")(inputA)
x = Dense(10, activation="relu")(x)
# x = Model(inputs=inputA, outputs=x)
 
# the second branch opreates on the second input
y = Bidirectional(LSTM(60, return_sequences=True))(inputB)
# y = Dense(32, activation="relu")(y)
y =  Dense(10, activation="relu")(y)
# y = Model(inputs=inputB, outputs=y)
 
    
z = Bidirectional(LSTM(60, return_sequences=True))(inputC)
# x = Dense(8, activation="relu")(inputA)
z =  Dense(10, activation="relu")(z)
# z = Model(inputs=inputC, outputs=z)

# combine the output of the two branches
combined = concatenate([x,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值