【发布时间】:2019-08-06 04:36:20
【问题描述】:
我正在实现一个需要支持屏蔽的自定义 tf.keras.layers.Layer。
考虑以下场景
embedded = tf.keras.layer.Embedding(input_dim=vocab_size + 1,
output_dim=n_dims,
mask_zero=True)
x = MyCustomKerasLayers(embedded)
现在根据文档
mask_zero: 输入值 0 是否是一个特殊的“填充”值,应该被屏蔽掉。这在使用可能采用可变长度输入的循环层时很有用。 如果为 True,则模型中的所有后续层都需要支持屏蔽,否则将引发异常。如果 mask_zero 设置为 True,则索引 0 不能在词汇表中使用(input_dim 应该等于词汇表的大小 + 1)。
我想知道,这是什么意思?查看TensorFlow's custom layers guide 和tf.keras.layer.Layer 文档,不清楚应该做些什么来支持屏蔽
如何支持屏蔽?
如何从过去的图层访问蒙版?
假设输入
(batch, time, channels)或 `(batch, time) 掩码看起来会有所不同吗?它们的形状是什么?如何将其传递到下一层?
【问题讨论】:
标签: python tensorflow keras