张量流中的序列掩码

时间:2017-11-07 08:29:42

标签: python tensorflow

我一直关注tensorflow文档。 最近我找到了一个函数sequence_mask(),它实际上非常有用。

根据official documentation

sequence_mask(
    lengths,
    maxlen=None,
    dtype=tf.bool,
    name=None
)

这里他们还提供了两个例子,

tf.sequence_mask([1, 3, 2], 5)  # [[True, False, False, False, False],
                                #  [True, True, True, False, False],
                                #  [True, True, False, False, False]]

tf.sequence_mask([[1, 3],[2,0]])  # [[[True, False, False],
                                  #   [True, True, True]],
                                  #  [[True, True, False],
                                  #   [False, False, False]]]

当我在计算机上测试它们时,第一个示例已成功执行。但是当我运行第二个示例时,显示了一条错误消息。

ValueError: lengths must be 1D for sequence_mask

那么问题是什么?

1 个答案:

答案 0 :(得分:0)

我认为这是因为您安装了Tesorflow版本。更新到Tensorflow版本1.4.0,应该可以正常工作。