- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用新的 tf.data
API 为 CIFAR10 数据集创建迭代器。我正在从两个 .tfrecord 文件中读取数据。一个保存训练数据 (train.tfrecords),另一个保存测试数据 (test.tfrecords)。这一切都很好。然而,在某些时候,我需要两个数据集(训练数据和测试数据)作为 numpy 数组。
是否可以从 tf.data.TFRecordDataset
对象中检索数据集作为 numpy 数组?
最佳答案
您可以使用 tf.data.Dataset.batch()
转型与tf.contrib.data.get_single_element()
去做这个。作为回顾,dataset.batch(n)
将占用 dataset
的 n
个连续元素,并通过连接每个组件将它们转换为一个元素。这要求所有元素的每个组件都具有固定的形状。如果 n
大于 dataset
中的元素个数(或者如果 n
没有整除元素个数),那么最后一个批处理可以更小。因此,您可以为 n
选择一个较大的值并执行以下操作:
import numpy as np
import tensorflow as tf
# Insert your own code for building `dataset`. For example:
dataset = tf.data.TFRecordDataset(...) # A dataset of tf.string records.
dataset = dataset.map(...) # Extract components from each tf.string record.
# Choose a value of `max_elems` that is at least as large as the dataset.
max_elems = np.iinfo(np.int64).max
dataset = dataset.batch(max_elems)
# Extracts the single element of a dataset as one or more `tf.Tensor` objects.
# No iterator needed in this case!
whole_dataset_tensors = tf.contrib.data.get_single_element(dataset)
# Create a session and evaluate `whole_dataset_tensors` to get arrays.
with tf.Session() as sess:
whole_dataset_arrays = sess.run(whole_dataset_tensors)
关于python - 从 TFRecordDataset 获取数据集作为 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871438/
如何在生成 TFRecordDataset 时跳过 TFRecord 文件中的条目? 给定一个 TFRecord 文件和 tf.contrib.data.TFRecordDataset 对象,我通过
我正在 Google Cloud Datalab 上的 Jupyter notebook 中测试 Tensorflow 模型。该模型设置为使用 TFRecordDataset的 TFRecord文件作
我正在为我想做的任务在 tensorflow 中制作一个输入管道。我已经设置了一个 TFRecord 数据集,该数据集已保存到磁盘上的文件中。 我正在尝试使用以下代码加载数据集(进行批处理并发送到实际
我正在使用 TFRecordDataset 迭代器作为输入来训练 Keras 模型。训练阶段运行良好,但当我调用 model.predict 时,模型仍在使用训练数据而不是新数据作为输入。 # Loa
我不清楚 tf.TFRecordDataset 中的 buffer_size 参数是什么做。假设我们有以下代码: dataset = dataset.shuffle(buffer_size=10000
我正在使用新的 tf.data API 为 CIFAR10 数据集创建迭代器。我正在从两个 .tfrecord 文件中读取数据。一个保存训练数据 (train.tfrecords),另一个保存测试数据
我有一个大型 numpy 整数数据集,我想用 GPU 对其进行分析。数据集太大,无法放入 GPU 上的主内存,因此我尝试将它们序列化为 TFRecord,然后使用 API 流式传输记录进行处理。下面的
注意事项: 这个问题延伸到之前的 question of mine .在那个问题中,我询问了将一些虚拟数据存储为 Example 和 SequenceExample 的最佳方法,想知道哪种方法更适合与
在 TF1 中,我可以使用 summary_iterator阅读摘要文件。但是现在,它会抛出警告 WARNING:tensorflow: tf_record_iterator (from tensor
我是一名优秀的程序员,十分优秀!