Tensorflow 如何使用tf.py_函数处理tf.string?

Tensorflow 如何使用tf.py_函数处理tf.string?,tensorflow,tensorflow-transform,Tensorflow,Tensorflow Transform,我有带字符串的张量(tf.string),我想用regexp分割这些字符串并进行一些预处理 例如,我有一个函数 py_分割(x): x=x.下() x=re.split(r)(http:\/\/)|(https:\/\/)|(\W)”,x) 返回x 我需要在tensorflow变换图中使用它,以便将来与tf服务一起使用 但是TF不允许我使用TF。string与python中的普通字符串相同 如何在C++中不使用新的TF OP解决问题? 另外,我使用TensorFlow 1.13有点棘手,因为T

我有带字符串的张量(tf.string),我想用regexp分割这些字符串并进行一些预处理

例如,我有一个函数

py_分割(x):
x=x.下()
x=re.split(r)(http:\/\/)|(https:\/\/)|(\W)”,x)
返回x
我需要在tensorflow变换图中使用它,以便将来与tf服务一起使用

但是TF不允许我使用TF。string与python中的普通字符串相同

如何在C++中不使用新的TF OP解决问题?


另外,我使用TensorFlow 1.13有点棘手,因为TensorFlow(至少据我所知)没有正则表达式拆分函数

如果有一个字符可以确保输入字符串不包含,则可以使用
tf.strings.regex\u replace()
tf.strings.split()
进行稍微混乱的处理。我们首先使用
regex\u replace
将匹配项替换为我们的特殊字符,然后使用
split
对特殊字符进行分割

例如,如果我们可以确保输入字符串永远不会包含char
|
,那么我们可以按照以下步骤进行:

def拆分(x):
x=tf.strings.regex\u替换(x,”(http:\/\/)|(https:\/\/)|(\W)”,“|”)
返回tf.strings.split(tf.expand_dims(x,0),“|”).value
所以,
split(“http://www.bbc.co.uk”
say,给了我们:

[b'', b'www', b'bbc', b'co', b'uk']

非常感谢,但此操作的结果不同,因为re.split不会删除分隔符。例如字符串:“Hello,world”re.split return
[“Hello”,“world”,“Hello”,“world”]