Tensorflow读取csv文件

当深度学习处理大型CSV文件时,直接用pandas可能导致内存压力。Tensorflow通过队列和多线程机制,分步骤实现高效读取:构造文件队列,创建CSV阅读器,解码行内容,应用批处理,最后开启会话获取数据。

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

前言:当深度学习使用的训练数据文件过大,使用pandas读取时会一次性读取全部数据,给内存带来了极大的压力。Tensorflow提供了一个使用队列且多线程读取文件的机制,缓解了内存的压力。该程序完整代码:https://github.com/iapcoder/TensorflowReadCSV


一 步骤:

1、构造文件队列

file_queue = tf.train.string_input_producer(file_list) # file_list: csv文件路径列表

2、构造csv阅读器读取队列数据(读取的是一行)

reader = tf.TextLineReader(skip_header_lines=1) # skip_header_lines 指定跳过几行
key, value = reader.read(file_queue) # key:行号 value: 内容

 3、对每行的内容进行解码

records = [[1.0], [1]] # 指定每一列的类型,1.0表示是浮点型,缺失则为1.0, 1表示整型,缺失则为1,“None”表示字符串,缺失则为None
example, label = tf.decode_csv(value, record_defaults=records) # 返回的是一行的数据

4、若想读取多个数据,需要使用批处理

example_batch, label_batch = tf.train.batch([exa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值