【发布时间】:2022-01-03 10:01:09
【问题描述】:
我在网上看到steps_per_epoch 被定义为数据集大小/批量大小。所以基本上,它是每个 epoch 中要查看/学习的批次数。
在下面的代码中,我在使用时间序列生成器处理后有 8 个批次。因此,如果我使用steps_per_epoch=1,是否意味着每个 epoch 只需要查看/学习 1 个批次?
# univariate one step problem with mlp
from numpy import array
from keras.models import Sequential
from keras.layers import Dense
from pip.preprocessing.sequence import TimeseriesGenerator
# define dataset
series = array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) # 10 samples before processing by the Generator
# define generator
timestep = 2
generator = TimeseriesGenerator(series, series, length=timestep, batch_size=1)
# After processing, 8 batches with 1 sample each
# define model
model = Sequential()
model.add(Dense(100, activation='relu', input_dim=timestep))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit_generator(generator, steps_per_epoch=1, epochs=200, verbose=0)
【问题讨论】:
标签: python tensorflow keras deep-learning