这些时在用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=None,
kernel_constraint=None,
recurrent_constraint=None,
bias_constraint=None,
dropout=0.0,
recurrent_dropout=0.0,
retur

在TensorFlow中使用GRU进行深度学习实验时,遇到多层GRU配置问题。单层GRU工作正常,但多层时需要设置`return_sequences`参数。若不设置,默认为False,会导致错误。解决方案是:除最后一层GRU外,其余层设置`return_sequences=True`,最后一层设为`return_sequences=False`,以确保输出维度正确。
最低0.47元/天 解锁文章
2046

被折叠的 条评论
为什么被折叠?



