保存和打开张量流数据集

Saving and opening a tensorflow dataset

我创建并保存了一个如下所示的数据集:

# line 1
foo+++$+++faa+++$+++fee
# +++$+++ is the separator

我像 .txt 一样保存,然后使用

保存到 tf
from tensorflow.data import TextLineDataset
from tensorflow.data.experimental import save, load
tfsaved = TextLineDataset('path_to_file.txt')
save(tfsaved, 'path_tf_dataset')

但是,当我加载数据集时,它看起来像这样:

# Line 1
foofaafee

我能否以任何方式向 tf 证明 +++$+++ 是我的分隔符?如果没有,我该如何解决?

这是一个简单的示例,说明如何使用 pandas 读取数据并将其传递给 tf.data.Dataset.from_tensor_slices:

data.csv

feature1+++$+++feature2+++$+++feature3
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
foo+++$+++faa+++$+++fee
import pandas as pd 
import tensorflow as tf

df =  pd.read_csv('data.csv', sep='\+\+\+$\+\+\+', engine='python')
ds = tf.data.Dataset.from_tensor_slices((dict(df)))

for d in ds.take(3):
  tf.print(d)
{'feature1': "foo", 'feature2': "faa", 'feature3': "fee"}
{'feature1': "foo", 'feature2': "faa", 'feature3': "fee"}
{'feature1': "foo", 'feature2': "faa", 'feature3': "fee"}

请注意,我必须转义字符 +$,因为它们是特殊的正则表达式字符。