TensorFlow 2.1.0 使用 TFRecord 转存与读取文本数据

这篇博客介绍了如何在TensorFlow 2.1.0中使用TFRecord来保存和读取文本数据。首先对文本进行分词、去停用词、建立词典和转化成词典index,然后使用Keras的Tokenizer进行映射。在保存时利用tf.train.FeatureLists,读取时分开解析Label和Text index。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

上次记录了一下如何使用 TFRecord 来转存图片与 label ,后续经手了一些 NLP 任务,尝试使用了 TF 2.1.0,所以记录一下如何使用 TFRecord 来保存和读取文本数据。


准备工作:

TFRecord 无法直接记录文本信息,所以需要首先对文本内容进行一些预处理的准备工作,分别是分词,去停用词,建立词典,以及将文本转化为词典 index。再将 index 值写入 TFRecord。

 

TFRecord

首先这里把训练集和验证集分构造为了两个 DataFrame ,然后一个 Text 文本对应两个 label。使用 Keras 中的 Tokenizer 进行词到字典的映射,同时把 label 转化为相应的 label index。

与保存图片不同的是,保存 Text index 时,需要用到 tf.train.FeatureLists()。转换 Text index 时,先将文本中的每一个 index 转换为一个 Int64List,再将整篇文章转换为一个 FeatureLists。

writer = tf.io.TFRecordWriter('./train_data_content_with_title')

for _, data in tqdm(train_pd.iterrows()):
    text = tokenizer.texts_to_sequences([data['content with title'].split(' ')])[0]
    text = list(map(lambda idx: tf.train.Feature(int64_list=tf.train.Int64
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值