作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个从一些 pandas 数据创建的 tensorflow 2.0 tf.data.Dataset
。现在我想更改数据集的设置,但它似乎不允许我这样做。举个例子,我想将数据集上的 .repeat()
参数从无限重复更改为仅重复 1 次。但是当我尝试进行此更改时,数据集不接受更改。
这是一个包含一些代码的示例。该函数取自 TF 网站上的 Tensorflow 教程之一。
URL = 'https://storage.googleapis.com/applied-dl/heart.csv'
df = pd.read_csv(URL)
def df_to_dataset(dataframe, shuffle=True, batch_size=32):
dataframe = dataframe.copy()
labels = dataframe.pop('target')
ds = tf.data.Dataset.from_tensor_slices((dict(dataframe), labels))
if shuffle:
ds = ds.shuffle(buffer_size=len(dataframe))
ds = ds.batch(batch_size).repeat() # <-- NOTICE THE INFINITE REPEAT
return ds
train_ds = df_to_dataset(df)
train_ds.repeat(1) # <-- TRYING TO CHANGE TO A FIXED NUMBER OF REPETITIONS
因此,我尝试更改数据集上的重复次数,但这会导致数据集仍然永远重复。就像如果我将数据集设置为无限重复,然后重复 1 次,我最终会得到一个无限重复的数据集,但重复 1 次——这与无限重复相同。
我想对于数据集的其他特征(例如批处理数等)可能也存在相同的行为。
有没有办法重置数据集的行为?
最佳答案
我认为这是预期的行为。一旦它是一个无限重复的数据集,再重复一次仍然会产生一个具有无限示例的数据集。
您可能可以执行dataset.take(count)
,其中count
是等于原始示例的批处理数的数字,前提是您有良好的洗牌能力您的数据。
关于python - Tensorflow 2.0 : Can I change the settings on a Tf. data.Dataset——特别是 `repeat()` 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59182162/
我是一名优秀的程序员,十分优秀!