小编Cyb*_*mer的帖子

fit_generator中的Keras steps_per_epoch如何工作

Keras文档中-steps_per_epoch:在声明一个纪元完成并开始下一个纪元之前,要从生成器产生的总步数(一批样本)。它通常应等于数据集的唯一样本数除以批次大小。

我有3000个样本。如果我将steps_per_epoch = 3000设置为慢,则工作速度会很慢。如果我将steps_per_epoch = 300设置为更快,那么我认为批处理有效!

但是随后我比较了在第一种和第二种情况下分配了多少视频内存。并没有注意到有很大的不同。如果我使用简单的fit()函数,则差异很大。所以这是真正的加速,还是我只处理300个示例,而不是3000个?

该参数需要什么?我如何加快培训速度?我的生成器代码:

def samples_generator(self, path_source, path_mask):
    while 1:
        file_paths_x = self.get_files(path_source)
        file_paths_y = self.get_files(path_mask)
        for path_x, path_y in zip(file_paths_x, file_paths_y):
            x = self.load_pixels(path_x, 3, cv2.INTER_CUBIC)
            y = self.load_pixels(path_y, 0, cv2.INTER_NEAREST)
            yield (x, y)
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras

2
推荐指数
1
解决办法
3271
查看次数

标签 统计

keras ×1

machine-learning ×1

python ×1