- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 tfrecords
文件,我希望从中创建批量数据。我正在使用 tf.train.shuffle_batch() 来创建单个批处理。在我的训练中,我想调用批处理并通过它们。这就是我被困住的地方。我读到,TFRecordReader()
的位置被保存在图形的状态中,并且从后续位置读取下一个示例。问题是我不知道如何加载下一批。我使用下面的代码来创建批处理。
def read_and_decode_single_example(filename):
filename_queue = tf.train.string_input_producer([filename], num_epochs=1)
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue)
features = tf.parse_single_example(
serialized_example,
features={
'context': tf.FixedLenFeature([160], tf.int64),
'context_len': tf.FixedLenFeature([1], tf.int64),
'utterance': tf.FixedLenFeature([160], tf.int64),
'utterance_len': tf.FixedLenFeature([1], tf.int64),
'label': tf.FixedLenFeature([1], tf.int64)
})
contexts = features['context']
context_lens = features['context_len']
utterances = features['utterance']
utterance_lens = features['utterance_len']
labels = features['label']
return contexts, context_lens, utterances, utterance_lens, labels
contexts, context_lens, utterances, utterance_lens, labels = \
read_and_decode_single_example('data/train.tfrecords')
contexts_batch, context_lens_batch, \
utterances_batch, utterance_lens_batch, \
labels_batch = tf.train.shuffle_batch([contexts, context_lens, utterances,
utterance_lens, labels],
batch_size=batch_size,
capacity=3*batch_size,
min_after_dequeue=batch_size)
这给了我一批数据。我想使用 feed_dict 范例来传递训练批处理,其中每次迭代时都会传入一个新批处理。如何加载这些批处理?调用 read_and_decode
和 tf.train.shuffle_batch
是否会再次调用下一个批处理?
最佳答案
read_and_decode_single_example()
函数为用于加载数据的网络创建一个(子)图;你只调用一次。它可能更合适地称为 build_read_and_decode_single_example_graph()
,但这有点长。
“魔力”在于多次评估(即使用)_batch
张量,例如
batch_size = 100
# ...
with tf.Session() as sess:
# get the first batch of 100 values
first_batch = sess.run([contexts_batch, context_lens_batch,
utterances_batch, utterance_lens_batch,
labels_batch])
# second batch of different 100 values
second_batch = sess.run([contexts_batch, context_lens_batch,
utterances_batch, utterance_lens_batch,
labels_batch])
# etc.
当然,您可以将它们输入到网络的其他部分,而不是手动从 session 中获取这些值。机制是相同的:每当直接或间接获取这些张量之一时,批处理机制将负责每次为您提供一个新批处理(不同值)。
关于python - Tensorflow - 来自 tf.train.shuffle_batch 的下一批数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978221/
我注意到,如果我将训练数据加载到内存中并将其作为 numpy 数组提供到图中,与使用相同大小的 shuffle 批次相比,速度会有很大差异,我的数据有大约 1000 个实例。 使用内存 1000 次迭
import tensorflow as tf sess = tf.Session() def add_to_batch(image): print('Adding to batch')
更新问题 我正在尝试使用 shuffle_batch() 函数将标签与 tensorflow 中的图像匹配,但是当我开始使用shuffle_batch() 函数。 1。我更新的问题 使用shuffle
它是在一个时期内进行一次洗牌,还是其他? tf.train.shuffle_batch 和 tf.train.batch 有什么区别? 有人可以解释一下吗?谢谢。 最佳答案 首先看一下文档( http
我正在尝试使用 TensorFlow 干净的方式 (tf.train.shuffle_batch) 处理我的输入数据,大部分代码是我从教程中收集的,并稍作修改,例如 decode_jpeg 函数。 s
在 Tensorflow tutorial ,它给出了以下关于 tf.train.shuffle_batch() 的示例: # Creates batches of 32 images and 32
我有一个训练数据文件,大约有 100K 行,并且我在每个训练步骤上运行一个简单的 tf.train.GradientDescentOptimizer。该设置本质上直接取自 Tensorflow 的 M
我有一个 tfrecords 文件,我希望从中创建批量数据。我正在使用 tf.train.shuffle_batch() 来创建单个批处理。在我的训练中,我想调用批处理并通过它们。这就是我被困住的地方
查看两个带有参数的函数签名 tf.train.shuffle_batch_join( tensors_list, batch_size, capacity, min_after_dequeue, se
我使用 Binary data训练 DNN。 但是 tf.train.shuffle_batch 和 tf.train.batch 让我很困惑。 这是我的代码,我将对其进行一些测试。 首先Using_
我正在尝试使用 tf.train.shuffle_batch 来使用 TensorFlow 1.0 使用 TFRecord 文件中的批量数据。相关功能有: def tfrecord_to_graph_
我是一名优秀的程序员,十分优秀!