1

Keras序列类文档

Every Sequence must implement the __getitem__ and the __len__ methods. If you 
want to modify your dataset between epochs you may implement on_epoch_end. The 
method __getitem__ should return a complete batch.

然而, training_generator.pyfit_generator中其他类似方法的源代码调用方法,生成器作为参数传递。根据我的理解,这意味着子类应该是一个需要实现方法的迭代器。nextSequence__next__

为了使用从Sequence类似fit_generator,predict_generator等方法的子类化的类,是否需要实现__next__方法?

4

1 回答 1

1

不,不需要实现__next__,如果你仔细签fit_generatortraining_generator.py,你会发现如果生成器是 的子类Sequence__next__则使用了另一个 API,不用于序列。

这是这样实现的,因为 aSequence可以被多个工作人员读取,这就是为什么它使用基于索引的 API 而不是像__next__.

于 2019-10-31T23:10:28.027 回答