草庐IT

tfrecord

全部标签

python - TensorFlow - 一次读取 TFRecords 中的所有示例?

如何一次读取TFRecords中的所有示例?我一直在使用tf.parse_single_example来读取单个示例,使用的代码类似于exampleofthefully_connected_reader中的方法read_and_decode中给出的代码。.但是,我想一次针对我的整个验证数据集运行网络,因此想全部加载它们。我不完全确定,但是thedocumentation似乎建议我可以使用tf.parse_example而不是tf.parse_single_example一次加载整个TFRecords文件。我似乎无法让它工作。我猜这与我如何指定功能有关,但我不确定在功能规范中如何说明有多

python - 如何使用从 TFRecords 读取的值作为 tf.reshape 的参数?

defread_and_decode(filename_queue):reader=tf.TFRecordReader()_,serialized_example=reader.read(filename_queue)features=tf.parse_single_example(serialized_example,#Defaultsarenotspecifiedsincebothkeysarerequired.features={'image_raw':tf.FixedLenFeature([],tf.string),'label':tf.FixedLenFeature([],t

python - TensorFlow - 从 TFRecords 文件中读取视频帧

TLDR;我的问题是如何从TFRecords加载压缩视频帧。我正在建立一个数据管道,用于在大型视频数据集(Kinetics)上训练深度学习模型。为此,我使用了TensorFlow,更具体地说是tf.data.Dataset和TFRecordDataset结构。由于数据集包含约30万个10秒的视频,因此需要处理大量数据。在训练期间,我想从视频中随机抽取64个连续帧,因此快速随机抽样很重要。为实现这一点,在训练期间有许多可能的数据加载场景:来自视频的示例。使用ffmpeg或OpenCV加载视频和示例帧。不太理想,因为在视频中搜索很棘手,而且解码视频流比解码JPG慢得多。JPG图像。通过将所

python - 如何使用 Dataset API 读取变长列表的 TFRecords 文件?

我想使用Tensorflow的数据集API读取可变长度列表的TFRecords文件。这是我的代码。def_int64_feature(value):#valuemustbeanumpyarray.returntf.train.Feature(int64_list=tf.train.Int64List(value=value))defmain1():#WriteanarraytoTFrecord.#aisanarraywhichcontainslistsofvariantlength.a=np.array([[0,54,91,153,177],[0,50,89,147,196],[0,3

python - Tensorflow 1.10 TFRecordDataset - 恢复 TFRecord

注意事项:这个问题延伸到之前的questionofmine.在那个问题中,我询问了将一些虚拟数据存储为Example和SequenceExample的最佳方法,想知道哪种方法更适合与所提供的虚拟数据类似的数据。我提供了Example和SequenceExample构造的明确公式,并在答案中提供了一种编程方式。因为这仍然是很多代码,所以我提供了一个Colab(由google托管的交互式jupyternotebook)文件,您可以在其中自行尝试代码以提供帮助。所有必要的代码都在那里,并且有大量注释。我正在尝试学习如何将我的数据转换为TF记录,因为声称的好处对我的数据来说是值得的。然而,文档

python - 创建一个 int 列表功能以在 tensorflow 中另存为 tfrecord?

如何从列表中创建tensorflow记录?来自documentation这似乎是可能的。还有这个example他们使用numpy中的.tostring()将numpy数组转换为字节数组。但是,当我尝试传入时:labels=np.asarray([[1,2,3],[4,5,6]])...example=tf.train.Example(features=tf.train.Features(feature={'height':_int64_feature(rows),'width':_int64_feature(cols),'depth':_int64_feature(depth),'la

python - 如何可视化 TFRecord?

我在另一个论坛上被问到这个问题,但我想我会把它发布在这里,以供遇到TFRecords问题的任何人使用。如果TFRecord文件中的标签与labels.pbtxt文件中的标签不对齐,TensorFlow的对象检测API会产生奇怪的行为。它会运行,损失可能会减少,但网络不会产生良好的检测结果。此外,我个人总是对X-Y、行列空间感到困惑,因此我总是喜欢仔细检查以确保我的注释实际上注释了图像的正确部分。我发现执行此操作的最佳方法是解码TFRecord并使用TF工具绘制它。下面是一些代码:importmatplotlib.pyplotaspltimportnumpyasnpimporttenso

python - Tensorflow 从 csv 创建一个 tfrecords 文件

我正在尝试将一个csv文件(所有列都是float)写入一个tfrecords文件,然后将它们读回。我见过的所有示例都将csv列打包,然后将其直接提供给sess.run()但我无法弄清楚如何将特征列和标签列写入tfrecord。我怎么能这样做? 最佳答案 您需要一个单独的脚本来将您的csv文件转换为TFRecords。假设您有一个包含以下header的CSV:feature_1,feature_2,...,feature_n,label您需要使用pandas等工具读取您的CSV,手动构造tf.train.Example,然后使用TFR

TFRecord的Shuffle、划分和读取

对数据集的shuffle处理需要设置相应的buffer_size参数,相当于需要将相应数目的样本读入内存,且这部分内存会在训练过程中一直保持占用。完全的shuffle需要将整个数据集读入内存,这在大规模数据集的情况下是不现实的,故需要结合设备内存以及Batch大小将TFRecord文件随机划分为多个子文件,再对数据集做localshuffle(即设置相对较小的buffer_size,不小于单个子文件的样本数)。Shuffle和划分下文以一个异常检测数据集(正负样本不平衡)为例,在生成第一批TFRecord时,我将正负样本分别写入单独的TFrecord文件以备后续在对正负样本有不同处理策略的情况

TFRecord的Shuffle、划分和读取

对数据集的shuffle处理需要设置相应的buffer_size参数,相当于需要将相应数目的样本读入内存,且这部分内存会在训练过程中一直保持占用。完全的shuffle需要将整个数据集读入内存,这在大规模数据集的情况下是不现实的,故需要结合设备内存以及Batch大小将TFRecord文件随机划分为多个子文件,再对数据集做localshuffle(即设置相对较小的buffer_size,不小于单个子文件的样本数)。Shuffle和划分下文以一个异常检测数据集(正负样本不平衡)为例,在生成第一批TFRecord时,我将正负样本分别写入单独的TFrecord文件以备后续在对正负样本有不同处理策略的情况