在 tensorflow 中,我是否必须设置一些特殊的东西来在训练时忽略零填充值?或者它是自动的?

问题描述

我想使用 tensorflow 将序列数据训练到 Rnn 基本模型,并使用一些零填充。

我希望模型在训练时忽略 0 值。

我是否必须设置参数才能做到这一点?或者模型会自动忽略零吗?

谢谢,

解决方法

这不是自动的,您应该引入 Masking 来实现这一点。这意味着层如何能够知道何时忽略序列输入中的某些时间步。

可以通过三种方式介绍

  • 您可以添加一个 tf.keras.layers.Masking
  • 您可以使用 tf.keras.layers.Embedding
  • 配置 mask_zero=True
  • 您可以传递支持此参数的 mask 参数 manually when calling layers

有关详细信息,您可以参考 Masking and padding with Keras 指南。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...