首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用tf.decode_csv解码tensorflow中的csv文件?

如何用tf.decode_csv解码tensorflow中的csv文件?
EN

Stack Overflow用户
提问于 2016-12-13 15:47:28
回答 3查看 4.8K关注 0票数 5

如何使用tf.TextLineReader()和tf.decode_csv解码具有长行的csv文件(例如,每行有很多项,这样逐个列出输出是不现实的)?

典型的用法是:

代码语言:javascript
运行
复制
reader = tf.TextLineReader()    
key, value = reader.read(filename_queue)    
record_defaults = [1,1,1,1,1]    
a,b,c,d,e =  tf.decode_csv(records=value,record_defaults=record_defaults, field_delim=" ")

当我们在一行中有数千个项目时,不可能像上面的(a,b,c,d,e)那样逐个分配它们,所有的项目都可以解码为一个列表或类似的东西吗?

EN

回答 3

Stack Overflow用户

发布于 2017-09-14 17:48:03

假设您有1800列数据。您可以将其用作记录默认值:

代码语言:javascript
运行
复制
record_defaults=[[1]]*1800

然后使用

代码语言:javascript
运行
复制
all_columns = tf.decode_csv(value, record_defaults=record_defaults)

来阅读它们。

票数 3
EN

Stack Overflow用户

发布于 2016-12-13 17:58:32

嗯,tf.decode_csv返回一个列表,所以您可以简单地这样做:

代码语言:javascript
运行
复制
record_defaults = [[1], [1], [1], [1], [1]]
all_columns = tf.decode_csv(value, record_defaults=record_defaults)
all_columns
Out: [<tf.Tensor 'DecodeCSV:0' shape=() dtype=int32>,
 <tf.Tensor 'DecodeCSV:1' shape=() dtype=int32>,
 <tf.Tensor 'DecodeCSV:2' shape=() dtype=int32>,
 <tf.Tensor 'DecodeCSV:3' shape=() dtype=int32>,
 <tf.Tensor 'DecodeCSV:4' shape=() dtype=int32>
]

然后,您可以像往常一样评估它:

代码语言:javascript
运行
复制
sess = tf.Session() 
sess.run(all_columns)
Out: [1, 1, 1, 1, 1]

请注意,您需要传递一个秩为1的record_defaults。如果您有一些挂起队列的问题。

票数 0
EN

Stack Overflow用户

发布于 2020-07-27 11:12:13

下面是我在record_defaults中混合不同数据类型的方法:

代码语言:javascript
运行
复制
record_defaults = [tf.constant(.1, dtype=tf.float32) for count in range(100)] # 5 fp32 features
record_defaults.extend([tf.constant(1, dtype=tf.int32) for count in range(2)]) # 2 int32 features
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41115931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档