相关疑难解决方法(0)

Keras fit_generator 上的错误,比应有的步骤多运行了几步

我发现fit_generator()会比应有的多跑几步。
我设置steps_per_epoch=100。i 和 k 都从 0 开始。但是在训练过程结束时,它会打印出k = 109。这种情况仅在添加验证数据时发生。

def data_generate(xfd, yfd, x_line_offset, y_line_offset):

    while True:
        k = 0

        x_line_offset, y_line_offset = shuffle_list(x_line_offset, y_line_offset)

        for i in range(100):
            print('i = {}'.format(i))
            print('k = {}'.format(k))
            k += 1

            x_train = get_line_by_offset(xfd, x_line_offset[i])
            x_train = rescaling(x_train, 0, 65535, 0, 1)
            y_train = get_line_by_offset(yfd, y_line_offset[i])

            yield x_train, y_train

train_generator = data_generate(xfd_train, yfd_train, x_train_line_offset, y_train_line_offset)
validation_generator = data_generate(xfd_valid, yfd_valid, x_valid_line_offset, y_valid_line_offset)

model.fit_generator(train_generator, steps_per_epoch=100,
                    validation_data=validation_generator,
                    validation_steps=len(fix_y_valid_line_offset), epochs=1)
Run Code Online (Sandbox Code Playgroud)

由于它会打印出来k …

python yield generator keras

3
推荐指数
1
解决办法
728
查看次数

标签 统计

generator ×1

keras ×1

python ×1

yield ×1