GRU输入输出矩阵设定

在TensorFlow中使用GRU进行深度学习实验时,遇到多层GRU配置问题。单层GRU工作正常,但多层时需要设置`return_sequences`参数。若不设置,默认为False,会导致错误。解决方案是:除最后一层GRU外,其余层设置`return_sequences=True`,最后一层设为`return_sequences=False`,以确保输出维度正确。
摘要由CSDN通过智能技术生成

这些时在用tensorFlow中的GRU做一些试验时发现:

假定训练集为10000个点,每个点为2000个数据,那么输入要求为(10000,2000,1)的数据和(10000,)的标签。

如果只有一层GRU直接调用

tf.keras.layers.GRU(512, activation='tanh', recurrent_activation='sigmoid', use_bias=True)

没有问题,但如果想要调用多层GRU。每层都写成以上形式就会报错。

ValueError: Input 0 of layer gru_1 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [None, 512]

看一下GRU的手册

tf.keras.layers.GRU(
    units,
    activation="tanh",
    recurrent_activation="sigmoid",
    use_bias=True,
    kernel_initializer="glorot_uniform",
    recurrent_initializer="orthogonal",
    bias_initializer="zeros",
    kernel_regularizer=None,
    recurrent_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值