Tensorflow 时间分布:重塑的输入是一个具有265000个值的张量,但请求的形状需要800的倍数

Tensorflow 时间分布:重塑的输入是一个具有265000个值的张量,但请求的形状需要800的倍数,tensorflow,keras,lstm,Tensorflow,Keras,Lstm,我正在根据以下内容创建LSTM模型: problem=self.hparams.problem 编码器=问题。功能\编码器 inputs_vocab_size=len(编码器['inputs'].子字) targets_vocab_size=len(编码器['targets'].子字) 隐藏大小=self.hparams.model.hidden大小 最大输入长度=self.hparams.model.max\u输入长度 最大输出长度=self.hparams.model.max\u目标长度 输

我正在根据以下内容创建LSTM模型:

problem=self.hparams.problem
编码器=问题。功能\编码器
inputs_vocab_size=len(编码器['inputs'].子字)
targets_vocab_size=len(编码器['targets'].子字)
隐藏大小=self.hparams.model.hidden大小
最大输入长度=self.hparams.model.max\u输入长度
最大输出长度=self.hparams.model.max\u目标长度
输入=keras.Input(形状=(最大输入长度)
x=输入
x=层。嵌入(输入\u声音\u大小、隐藏\u大小、输入\u长度=最大\u输入\u长度、掩码\u零=真)(x)
x=层.LSTM(隐藏大小)(x)
x=层。重复向量(最大输出长度)(x)
x=layers.LSTM(隐藏大小,返回序列=True)(x)
#输出模态
输出=layers.TimeDistributed(layers.Dense(目标声音大小,激活='softmax'))(x)
self.keras_model=keras.model(输入=输入,输出=输出)
self.keras_model.summary()
在训练期间,模型的损失计算如下:

def丢失(自身、登录、目标):
标签=tf.one\u热(目标、自身声音大小)
损耗=tf.nn.softmax\u交叉\u熵\u与逻辑(逻辑=逻辑,标签=标签)
返回tf.减少平均值(损失)
其中,
logits
是模型输出,
targets
是培训示例

但是,我在执行过程中遇到以下异常:

tensorflow.python.framework.errors\u impl.InvalidArgumentError:重塑的输入是一个具有265000个值的张量,但请求的形状需要800的倍数
[{{node model_fn/model/time_distributed/reformate_1}}]
显然,我对
TimeDistributed
层有一个问题,但我不太清楚问题在哪里。
265000
值张量从何而来,与之相比,我做的有什么不同


模型摘要
模型:“模型”
_________________________________________________________________
层(类型)输出形状参数
=================================================================
输入_1(输入层)[(无,100)]0
_________________________________________________________________
嵌入(嵌入)(无,2,64)512
_________________________________________________________________
lstm(lstm)(无,64)33024
_________________________________________________________________
重复向量(RepeatVector)(无,100,64)0
_________________________________________________________________
lstm_1(lstm)(无、100、64)33024
_________________________________________________________________
时间分布(时间分布(无、100、8)520
=================================================================
总参数:67080
可培训参数:67080
不可训练参数:0
_________________________________________________________________

Hi@displayname,您能包含一个能显示错误的最小可复制代码吗?Hi@displayname,您能包含一个能显示错误的最小可复制代码吗?