chainer.dataset.
DatasetMixin
[source]¶
データセット・インデクシングのデフォルト実装。
DatasetMixin は __getitem__()
オペレータを提供します。このデフォルト実装は各exampleを抽出して結果をリストに結合するために get_example()
を使います。この mixin は、効率的なスライスをサポートしていない新しいデータセットの実装を簡単にします。
DatasetMixin を使用しているデータセット実装は、やはり __len__()
オペレータを明示的に提供しなければなりません。
Methods
__getitem__
(index)[source]¶
examplesのシーケンスもしくは、exampleを返す。
これは標準Pythonのインデクシングと一次元整数配列のインデクシングを実装しています。 get_example()
メソッドをデフォルトで使用しますが、
たとえばスライスのパフォーマンスを改善するような実装によってオーバーライドされるかもしれません。
Parameters: | index (int, slice, list or numpy.ndarray) – exampleのインデクス。 |
---|---|
Returns: | インデクスが整数の場合、 get_exampleによって生成されたexample を返します。インデクスがスライスか1次元のリスト、 またはnumpy.ndarrayである場合、 get_example.によって生成されたexampleのリストを返します。 |
Example
>>> import numpy
>>> from chainer import dataset
>>> class SimpleDataset(dataset.DatasetMixin):
... def __init__(self, values):
... self.values = values
... def __len__(self):
... return len(self.values)
... def get_example(self, i):
... return self.values[i]
...
>>> ds = SimpleDataset([0, 1, 2, 3, 4, 5])
>>> ds[1] # intによってアクセス
1
>>> ds[1:3] # スライスによってアクセス [1, 2]
>>> ds[[4, 0]] # 1次元整数リストによってアクセス [4, 0]
>>> index = numpy.arange(3)
>>> ds[index] # 1次元のnumpy整数配列によってアクセス[0, 1, 2]
get_example
(i)[source]¶
i-th exampleを返す。
実装はこれをオーバーライドすべき。 インデクスが無効の場合 IndexError
が発生します。
Parameters: | i (int) – exampleのインデクス |
---|---|
Returns: | The i-th example. |