April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
前ステップではDatasetクラスを作り、指定されたインターフェイスでデータセットにアクセスできる仕組みを作りました。本ステップでは、Datasetクラスからミニバッチを作るクラスをDataLoaderとして実装します。このDataLoaderクラスには、ミニバッチの作成やデータセットのシャッフルなどの仕事を行わせます。そうすることで、ユーザの書く学習コードはよりシンプルになります。ここでは、まず「イテレータ」について説明し、その後にDataLoaderクラスを実装するという流れで説明していきます。
イテレータは、日本語では「反復子」と訳されます。その名前が示すとおり、要素を反復して取り出すことができます。Pythonにおけるイテレータとは、リストやタプルなど複数の要素を持つデータ型に対して、順番にデータを取り出す機能を提供するものです。具体例を示すと次のようになります。
>>>t=[1,2,3]>>>x=iter(t)>>>next(x)1>>>next(x)2>>>next(x)3>>>next(x)Traceback (most recent call last):File"<stdin>", line1, in<module>StopIteration
リストをイテレータに変換するには、iter関数を使います。ここでは、リストのtからxというイテレータを作ります。イテレータに対して順にデータを取り出すにはnext関数を使います。上の例では、next関数が実行されるたびに、リストの要素が順番に取り出されていることが確認できます。なお4回目の実行では、次の要素が存在しないので ...
Read now
Unlock full access