当前位置: 首页 > 面试题库 >

如何重塑文本数据以适合keras中的LSTM模型

容柏
2023-03-14
问题内容

更新1:

Im所指的html" target="_blank">代码正是本书中的代码,您可以在这里找到。

唯一的事情是我不想embed_size在解码器部分中拥有。这就是为什么我认为根本不需要嵌入层的原因,因为如果我放入嵌入层,则需要包含embed_size在解码器部分中(如果Im错误,请更正我)。

总体而言,我试图在不使用嵌入层的情况下采用相同的代码,因为我需要vocab_size在解码器部分中具有。

我认为评论中提供的建议可能是正确的(using one_hot_encoding)我如何面对此错误:

当我做的时候one_hot_encoding

tf.keras.backend.one_hot(indices=sent_wids, classes=vocab_size)

我收到此错误:

in check_num_samples you should specify the + steps_name + argument ValueError: If your data is in the form of symbolic tensors, you should specify the steps_per_epoch argument (instead of the batch_size argument, because symbolic tensors are expected to produce batches of input data)

我准备数据的方式是这样的:

sent_lensis的 形状,(87716, 200)我想以可以将其输入LSTM的方式重塑形状。这里200代表sequence_lenght87716是我拥有的样本数。

以下是代码LSTM Autoencoder

inputs = Input(shape=(SEQUENCE_LEN,VOCAB_SIZE), name="input")
encoded = Bidirectional(LSTM(LATENT_SIZE), merge_mode="sum", name="encoder_lstm")(inputs)
decoded = RepeatVector(SEQUENCE_LEN, name="repeater")(encoded)
decoded = LSTM(VOCAB_SIZE, return_sequences=True)(decoded)
autoencoder = Model(inputs, decoded)
autoencoder.compile(optimizer="sgd", loss='mse')
autoencoder.summary()
history = autoencoder.fit(Xtrain, Xtrain,batch_size=BATCH_SIZE, 
epochs=NUM_EPOCHS)

我还需要做些额外的事情吗(如果没有),为什么我无法使它正常工作?

请让我知道我将解释的不清楚的部分。

谢谢你的帮助:)


问题答案:

因此,正如评论中所说,事实证明我只需要这样做one_hot_encoding

当我使用tf.keras.backend进行one_hot编码时,它引发了我在问题中更新的错误。

然后我尝试将to_categorical(sent_wids, num_classes=VOCAB_SIZE)其修复(但是面对memory error:D却是另一回事)!!!

我还应该提到我尝试了一下sparse_categorical_crossentropyone_hot_encoding尽管它没有用!

谢谢你的帮助:)



 类似资料:
  • 我想使用Keras实现下图中描述的模型,但我不知道如何实现。 如果模型的输入像,我需要如何实现它?

  • 本文向大家介绍R重塑数据,包括了R重塑数据的使用技巧和注意事项,需要的朋友参考一下 示例 数据通常在表中。通常,可以将此表格数据分为宽和长格式。在广泛的格式中,每个变量都有自己的列。 人 身高[cm] 年龄[yr] 艾莉森 178 20 鲍勃 174 45 卡尔 182 31 但是,有时使用长格式会更方便,因为所有变量都在一列中,而值在第二列中。 人 变量 值 艾莉森 身高[cm] 178 鲍勃

  • 问题内容: 我有一个熊猫系列,目前看起来像这样: 我想从根本上将其重塑成一个看起来像这样的数据框… 即。逻辑构造,指出每个观察(行)属于哪个类别。 我能够编写基于循环的代码来解决该问题,但是鉴于我需要处理的行数众多,这将非常缓慢。 有谁知道针对这种问题的矢量化解决方案?我将不胜感激。 编辑:有509个类别,我确实有一个清单。 问题答案:

  • R中的数据重塑是关于改变数据组织成行和列的方式。 大多数情况下,R中的数据处理是通过将输入数据作为数据帧来完成的。 从数据帧的行和列中提取数据很容易,但有些情况下我们需要的数据帧格式与我们收到它的格式不同。 R具有许多功能,可以在数据帧中拆分,合并和更改行到列,反之亦然。 在数据框中加入列和行 我们可以使用cbind()函数连接多个向量来创建数据框。 我们也可以使用rbind()函数合并两个数据帧

  • 主要内容:在数据框中连接列和行,合并数据帧,拆分数据和重构数据,拆分数据,重构数据R中的数据重整是关于将数据组织成行和列的方式。 R中的大多数时间数据处理是通过将输入数据作为数据帧来完成的。 很容易从数据帧的行和列中提取数据,但是有些情况下,我们需要的格式与收到的格式不同。 R具有许多函数,用于在数据帧中拆分,合并和更改行到列,反之亦然。 在数据框中连接列和行 我们可以使用函数连接多个向量来创建数据帧。也可以使用函数合并两个数据帧。 当我们执行上述代码时,会产生以下结果 - 合

  • 问题内容: 从这里开始。该解决方案仅适用于一列。如何改进多列解决方案。即如果我有一个像 如何重塑像 如果df是 然后 问题答案: 采用 要么, 另外,索引不相等