python的list.count()是否有张量eqiv

时间:2018-08-02 20:39:08

标签: python tensorflow

我正在尝试在tensorflow中完成所有输入管道的工作。这包括将示例转换为分类器所需的类型。

我刚刚了解到我无法像使用标准python列表那样遍历字符串张量。我的具体问题是“是否有一个tf函数来测试张量中是否存在恒定值?”当然,可能会有更好的方法(我是tf和python的新手)。

# creating a unique list of tokens (python)
a_global = []
a = [...]
for token in a:
    if a_global.count(token) == 0:
        a_global.append(token)

我正在为字符串标记编制索引,因此我基本上可以使用标记在列表中的位置作为新值将它们转换为整数。当“ a”是张量时,该代码段将不起作用,因此我正在尝试使用tf.map_fn(),但我不知道如何复制IF语句谓词。有人可以指出我正确的方向吗?

tf版本1.8

1 个答案:

答案 0 :(得分:1)

如果此操作不需要渐变(我猜您不需要预处理的东西),最简单的方法是使用tf.py_func。本质上,它能够将numpy代码片段包装到TensorFlow操作中。

如果这对您不起作用,请查看this post进行计数。然后,您可以使用tf.cond复制if语句。