我想将生成器传递给fit_generator,该生成器将成批产生多维数组x和y。 x的尺寸为(1000000,200),y的尺寸为(1000000,2000)。我正在按帧分类。我当前的代码如下:
def my_generator():
current = 0
batch_size = 500
for i in range(current, 1000000, batch_size):
x_batch =x[i, :]
y_batch=y[i, :]
yield(x_batch, y_batch)
model.fit_generator(generator=(my_generator()), steps_per_epoch=2000, epochs=1, validation_data=(x_val, y_val))
但是我不相信我要向fit_generator函数发送正确的批次尺寸,或者我的代码不正确。谁能帮帮我?
现在,您正在从x
和y
中批量提取大小为1的批次。要获取完整批次,请更改以下行
x_batch = x[i, :]
y_batch = y[i, :]
至此
x_batch = x[i:i + batch_size, :]
y_batch = y[i:i + batch_size, :]
这将从i
到(但不包括)i + batch_size
抽取一个切片,而不是仅抽取一个单数组切片。