1

我创建了一个带有预训练 100D 手套嵌入的编码器-解码器模型,以创建一个抽象的文本摘要器。数据集有4300文章,它的摘要数据。词汇量48549用于文章和19130摘要。Total memory size of input, output variables = 7.5Gb

以下是基本的编码器-解码器模型:

latent_dim = 1024
encoder_inputs = Input(shape=(max_x_len,))
emb1 = Embedding(len(x_voc), 100, weights=[x_voc], trainable = False)(encoder_inputs)

encoder = LSTM(latent_dim, return_state=True)
encoder_outputs, state_h, state_c = encoder(emb1)

decoder_inputs = Input(shape=(None,))
emb2 = Embedding(len(y_voc), 100, weights=[y_voc], trainable = False)(decoder_inputs)

decoder_lstm = LSTM(latent_dim, return_sequences=True, return_state=True)
decoder_outputs0, _, _ = decoder_lstm(emb2, initial_state=[state_h, state_c])

decoder_dense = Dense(len(y_voc), activation='softmax')
decoder_outputs = decoder_dense(decoder_outputs0)

model = Model([encoder_inputs, decoder_inputs], decoder_outputs)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

当我对整个数据进行训练时,spyder 会消耗 99% 的内存并且系统会停止。

我的系统配置如下:

OS - windows 10 (64-bit)
Ram - 8Gb
Processor - Intel(R) Core(TM) i5-3470
ROM - 300Gb

此外,我想 -

  • 向模型添加更多数据和层
  • 添加注意力层
  • 实现伯特

请提出解决方案或合适的系统配置。

4

2 回答 2

0

这个代码库,包含文本摘要的多个实现,它优化了学习参数,以便在 google colab 上轻松高效地运行,我认为它可能会有所帮助。

它还在博客系列中详细讨论了这些模型是如何构建的。

希望这会有所帮助。

于 2020-01-11T09:49:37.263 回答
-1

执行深度学习程序和简单的机器学习程序是有区别的。在深度学习中,我们实际上是在处理张量(表示最小向量),因此为了处理深度模型,我们需要一些处理张量有效的处理单元。可能有一些专门的系统适用于神经网络程序。因此,为了执行神经网络模型,我们需要 GPU 或 TPU 来处理从一层神经元传递到其他神经元的数据。CPU 可以工作,但 CPU 并非专用于仅用于神经网络模型。CPU被分配在整个系统上工作,基本上计算程序在CPU上执行得更快。希望这会帮助你。

于 2019-09-11T17:17:45.777 回答