chainer.dataset.
Iterator
[source]¶
すべてのデータセットのイテレータの基底クラス。
Iteratorはデータセットを繰り返し処理し 、各繰り返しでミニバッチを生成します。ミニバッチは学習データから取り出したデータ(=examples)のリストです。各実装はIteratorプロトコルを実装しなければなりません
(例えば __next__()
メソッド)。
Iteratorがバッチサイズの設定をサポートするとき、全てのバッチが同じ数のデータを含んでいることは保証されませんので、注意してください。例えば、Iteratorを全データ(Sweep)の最後の方で停止したままにしておくと、最後のバッチはほんのすこしのデータしか含まないかもしれません。
Iteratorと元になるデータセットインタフェースは固定されておらず、実装によります。
各実装は下記の属性を提供しなければなりません(書き換え可能である必要はありません)
batch_size
: 各ミニバッチに含めるデータの数
epoch
: データセット全体の総数
epoch_detail
: エポックの浮動小数点数版。例えば、イテレータが3番目のエポックでデータセットの中間地点にある場合、この値は2.5。
previous_epoch_detail
: 前の反復処理の epoch_detail
の値。この値は、最初のIterationの前は None
。
is_new_epoch
: エポック数が前回の更新で増やされている場合、 True
各実装は、繰り返し処理の停止と再開をシリアル化をするシリアル化をサポートしなければなりません。
Methods
__next__
()[source]¶
次のバッチを返す。
これはPythonのイテレータプロトコルの一部です。繰り返し処理を停止させたとき、StopIteration
例外を引き起こす可能性があります。
finalize
()[source]¶
Iterator を終了させ、リソースを解放する。
このメソッドはデフォルトでは何もしません。実装は、内部のリソースを管理するためにこれをオーバーライドするほうが良いかもしれません。
next
()[source]¶
Python2 の __next__
の代替。
これはデフォルトで __next__()
を呼び出します。