gpt4 book ai didi

Python、Keras - 张量 u'dense_2_target : Cannot feed value of shape (10, 的 ValueError : 0', which has shape ' (? 70, 1025)'

转载 作者:行者123 更新时间:2023-12-01 08:25:46 25 4
gpt4 key购买 nike

我正在尝试批量训练 RNN。输入输入大小(10, 70, 3075),其中10是批量大小,70是时间维度,3075是频率维度。

有 3 个输出,其大小为(10、70、1025)每个基本上都有 10 个大小为 (70,1025) 的频谱图。

我想通过回归来训练这个RNN,其结构是

input_img = Input(shape=(70,3075 ) )
x = Bidirectional(LSTM(n_hid,return_sequences=True, dropout=0.5, recurrent_dropout=0.2))(input_img)
x = Dropout(0.2)(x)
x = Bidirectional(LSTM(n_hid, dropout=0.5, recurrent_dropout=0.2))(x)
x = Dropout(0.2)(x)
o0 = ( Dense(1025, activation='sigmoid'))(x)
o1 = ( Dense(1025, activation='sigmoid'))(x)
o2 = ( Dense(1025, activation='sigmoid'))(x)

问题是输出密集层无法考虑三个维度,它们想要类似 (None, 1025) 的东西,我不知道如何提供它,除非我沿着时间维度连接。

出现以下错误:

ValueError: Cannot feed value of shape (10, 70, 1025) for Tensor u'dense_2_target:0', which has shape '(?, ?)'

batch_shape 选项在输入层中有用吗?我实际上已经尝试过,但也遇到了同样的错误。

最佳答案

在本例中,第二个 RNN 将序列折叠为单个向量,因为默认情况下 return_sequences=False。要使模型返回序列并在每个时间步上单独运行 Dense 层,只需将 return_sequences=True 添加到第二个 RNN:

x = Bidirectional(LSTM(n_hid,  return_sequences=True, dropout=0.5, recurrent_dropout=0.2))(x)

密集层会自动应用于最后一个维度,因此之后无需重新整形。

关于Python、Keras - 张量 u'dense_2_target : Cannot feed value of shape (10, 的 ValueError : 0', which has shape ' (? 70, 1025)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54260919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com