- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 tf.data.TextLineDataset
读取 *.csv
文件并在其上应用 map
:
dataset = tf.data.TextLineDataset(os.path.join(data_dir, subset, 'label.txt'))
dataset = dataset.map(lambda value: parse_record_fn(value, is_training),
num_parallel_calls=num_parallel_calls)
解析函数parse_record_fn
如下所示:
def parse_record(raw_record, is_training):
default_record = ["./", -1]
filename, label = tf.decode_csv([raw_record], default_record)
# do something
return image, label
但是在解析函数中的tf.decode_csv
处引发了ValueError
:
ValueError:形状必须为排名 1,但对于“DecodeCSV”(操作:“DecodeCSV”),其排名为 0,输入形状为:[1]、[]、[]。
我的*.csv
文件示例:
/data/1.png, 5
/data/2.png, 7
问题:
shapes: [1], [], []
是什么意思?可以在此代码中重现此错误:
import tensorflow as tf
import os
def parse_record(raw_record, is_training):
default_record = ["./", -1]
filename, label = tf.decode_csv([raw_record], default_record)
# do something
return image, label
with tf.Session() as sess:
csv_path = './labels.txt'
dataset = tf.data.TextLineDataset(csv_path)
dataset = dataset.map(lambda value: parse_record(value, True))
sess.run(dataset)
最佳答案
查看 tf.decode_csv
的文档,它说明了默认记录:
record_defaults: A list of Tensor objects with specific types. Acceptable types are float32, float64, int32, int64, string. One tensor per column of the input record, with either a scalar default value for that column or empty if the column is required.
我相信您遇到的错误源于您定义张量default_record
的方式。您的 default_record
当然是张量对象(或可转换为张量的对象)的列表,但我认为错误消息表明它们应该是 1 级张量,而不是像您的情况那样是 0 级张量.
您可以通过将默认记录设置为排名 1 张量来解决该问题。请参阅以下玩具示例:
import tensorflow as tf
my_line = 'filename.png, 10'
default_record_1 = [['./'], [-1]] # do this!
default_record_2 = ['./', -1] # this is what you do now
decoded_1 = tf.decode_csv(my_line, default_record_1)
with tf.Session() as sess:
d = sess.run(decoded_1)
print(d)
# This will cause an error
decoded_2 = tf.decode_csv(my_line, default_record_2)
最后一行产生的错误很熟悉:
ValueError: Shape must be rank 1 but is rank 0 for 'DecodeCSV_1' (op: 'DecodeCSV') with input shapes: [], [], [].
在消息中,输入形状,三个括号[]
,指的是输入参数的形状records
,record_defaults
,和 tf.decode_csv
的 field_delim
。在您的情况下,这些形状中的第一个是 [1]
,因为您输入了 [raw_record]
。我同意此案例的消息信息量不大......
关于python - TensorFlow解码_csv形状错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473963/
我对 python 中的 csv 模块有疑问。 这是我为解析我的 csv 而编写的代码 def parse(data): data_delim = data.split("\n") d
这个问题在这里已经有了答案: How to skip the headers when processing a csv file using Python? (5 个答案) 关闭 8 年前。 当我
我不确定这里的问题是什么。我有一个要过滤的 csv 文件。我想删除所有以“@”开头的行以及第三列为字符串“chrM”的所有行。我基本上将我的代码设置为类似于此处的答案: TypeError: expe
在尝试读取 csv.py 文件的源代码(作为在另一个上下文中实现我自己的 writer 类的指南)时,我发现很多反过来,该文件中的功能是从名为 _csv 的东西导入的: from _csv impo
我有一个 python 字典列表,我正在尝试将其值写入 csv 文件,但由于某种原因,我不断收到_csv.Error:预期序列 这里是示例代码: import csv import os, sys h
这是我的全部代码: import csv def numbersOut(): for i in range (1, 1001): out.writerow("%s" % (i+
我正在创建一个变化计算器,它必须输出与此类似的结果: {'TWENTY':1, 'TEN':1, 'FIVE':1, 'PENNY’ : 2} {‘ONE’:1,'FIVE':1} {‘ONE’:1}
请帮忙。当我想将 dict AllListInstance 写入 csv 文件时出现错误。这是我的代码: AllListInstance= {frozenset(['OFFENSE INVOLVING
到目前为止,这是我的代码: import csv reader = csv.reader(open('new_file.txt','r'),delimiter=' ') row1 = reader[0
我有一个读取 csv 文件的脚本,其中包含非常大的字段: # example from http://docs.python.org/3.3/library/csv.html?highlight=cs
下面是一个独立的例子。更改“folder_name”以运行它。这回答: reader type = _csv.reader list(reader) = [] _csv.reader' has no
这个问题在这里已经有了答案: csv.Error: iterator should return strings, not bytes (6 个回答) 关闭7年前。 在我的 csv 程序开始时: im
我在一个包含非常大字段的 csv 文件中读取了一个脚本: # example from http://docs.python.org/3.3/library/csv.html?highlight=cs
我从一个 url 下载了一个 csv 文件,并使用 csv.reader 读取它的内容。但是,当我尝试遍历 _csv.reader 对象时,我得到了 _csv.Error: line contains
我想使用 csv2libsvm.py ( https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py ) 将 csv 文件转换为稀疏格式文
我正在使用 Windows 编写一个多处理程序来并行处理大型 .CSV 文件。 我找到了 this excellent example对于类似的问题。在 Windows 下运行时,我收到一条错误消息,
我正在尝试从 url 读取 gzip 压缩的 csv 文件。这是一个超过 50.000 行的非常大的文件。当我尝试下面的代码时出现错误:_csv.Error: line contains NULL b
我已经为这个简单的问题苦苦挣扎了太久,所以我想我应该寻求帮助。我正在尝试将国家医学图书馆 ftp 站点的期刊文章列表读入 Python 3.3.2(在 Windows 7 上)。期刊文章位于 .csv
我已经为这个简单的问题苦苦挣扎了太久,所以我想我会寻求帮助。我正在尝试将国家医学图书馆 ftp 站点的期刊文章列表读入 Python 3.3.2(在 Windows 7 上)。期刊文章位于 .csv
我是一名优秀的程序员,十分优秀!