批量数据上的tensorflow string_split

时间:2018-03-07 01:31:39

标签: tensorflow



来自tensorflow官方文档,它说

  

例如:N = 2,source [0]为'hello world',source [1]为'a b c',则输出为st.indices = [0,0; 0,1; 1,0; 1,1; 1,2] st.shape = [2,3] st.values = ['hello','world','a','b','c']

如果我想要[['hello','world'],['a','b','c']这样的内容怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

使用tf.map_fn将您的批处理映射到函数tf.string_split

https://www.tensorflow.org/api_docs/python/tf/map_fn

地图功能会将您的批次沿第一个维度(您的批量大小N拆分,如您问题中的文档所引用),然后它会将每个样本单独传递给tf.string_split,每个将分别返回['hello', 'world']['a', 'b', 'c']。然后map函数会将各个结果重新组合成一个数组,根据需要产生[['hello', 'world'], ['a', 'b', 'c']]