【问题标题】:How to unbatch a Tensorflow 2.0 Dataset如何取消批处理 TensorFlow 2.0 数据集
【发布时间】:2020-10-29 00:46:17
【问题描述】:

我有一个使用tf.data.Dataset 的代码创建的数据集:

dataset = Dataset.from_tensor_slices(corona_new)
dataset = dataset.window(WINDOW_SIZE, 1, drop_remainder=True)
dataset = dataset.flat_map(lambda x: x.batch(WINDOW_SIZE))
dataset = dataset.map(lambda x: tf.transpose(x))

for i in dataset:
    print(i.numpy())
    break

当我运行它时,我得到以下输出(这是一个批次的示例):

[[  0. 125. 111. 232. 164. 134. 235. 190.] 
 [  0.  14.  16.   7.   9.   7.   6.   8.]
 [  0. 132. 199. 158. 148. 141. 179. 174.]
 [  0.   0.   0.   2.   0.   2.   1.   2.]
 [  0.   0.   0.   0.   3.   5.   0.   0.]]

如何取消批量处理?

【问题讨论】:

  • 什么意思仅将所有批次扁平化为行?
  • @NicolasGervais 我很抱歉的话。我想删除所有批次或“取消批次”。
  • 这就是我问的原因。你可以.unbatch()

标签: python tensorflow machine-learning keras tensorflow-datasets


【解决方案1】:

找到我的解决方案。

在 TensorFlow 2.0 中,您可以通过调用 .unbatch() 函数来取消批处理 tf.data.Dataset

示例:dataset.unbatch()

【讨论】:

  • 哈,是的,你找到了。数据集类很好,但确实需要一些更好的文档。
  • @AndrewHolmgren 是的!确切地!目前没有教程或好的文档。
猜你喜欢
  • 1970-01-01
  • 2020-04-23
  • 2018-10-30
  • 1970-01-01
  • 2018-08-17
  • 2018-09-03
  • 2019-03-24
  • 2018-08-24
  • 1970-01-01
相关资源
最近更新 更多