tensorflow数据集滑动窗口批处理不起作用?

2024-04-20 08:21:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我不能让这个代码生效,我错在哪里?在

dataset = tf.data.Dataset.from_tensors(np.arange(8))
dataset = dataset.apply(tf.contrib.data.sliding_window_batch(window_size=4))
iterator = dataset.make_one_shot_iterator()
element = iterator.get_next()

with tf.Session() as sess:
    while True:
        try:
            print(sess.run(element))
        except tf.errors.OutOfRangeError:
            print('end')
            break

我本以为[0,1,2,3],[1,2,3,4],...但是我什么也没有得到。在

编辑: 如果我在apply之前print(dataset)我得到<TensorDataset shapes: (8,), types: tf.int64>,在apply之后我得到{},这不是我所期望的:_SlideDataset的形状不是(?, 4)?在


Tags: 代码fromdatatfnpelementwindowdataset
1条回答
网友
1楼 · 发布于 2024-04-20 08:21:25

将代码从from_tensors更改为from_tensor_slices。请参阅下面的代码更新:

import tensorflow as tf
import numpy as np

dataset = tf.data.Dataset.from_tensor_slices((np.arange(8)))
dataset = dataset.apply(tf.contrib.data.sliding_window_batch(window_size=4))
iterator = dataset.make_one_shot_iterator()
element = iterator.get_next()

with tf.Session() as sess:
    while True:
        try:
            print(sess.run(element))
        except tf.errors.OutOfRangeError:
            print('end')
            break

输出:

^{pr2}$

相关问题 更多 >