chainer.dataset.concat_examples(batch, device=None, padding=None)[source]

データのリストを配列に結合する。

 

Dataset iterator はデータのリストを生成します。この各データが配列だった場合、この関数はその配列を新しく挿入された最初の軸(バッチディメンジョン)に添って結合し1つの配列にします。この基本的な動作は多次元配列からなるデータの場合も同様です。つまり全てのデータは対応する配列へ結合されます。

たとえば、 (x, y). という2次元配列のデータを考えます。その場合、この関数は x を1つの配列へ結合し、 y をもう一方へ結合します。そして, これらの2つの配列のタプルを返します。

別の例:  'x' と 'y', である別々の2つのエントリがあるディクショナリについて考えます。この関数は x をひとつの配列へ結合し、 y をもう一方の配列に結合します。そして、 x と y のエントリに配列の値が結合されたディクショナリを返します。

 

結合する配列が異なる形を持つ場合、動作は padding の値に依存します。 padding がNone (default)の場合、エラーが発生します。それ以外では、すべての配列の内容が入る最小限の形の配列が作成されます。この  padding  は、結果の配列の予備要素に用いられます。

 

TODO(beam2d): Add an example.

Parameters:
  • batch (list) – データのリスト。一般的にDataset iteratorによって与えられる。
  • device (int) – 各配列が送られるデバイス ID 負の値は、ホストメモリ(CPU)を表します。 省略された場合、全ての配列は元々格納されていたのデバイスのままです。
  • padding – 予備の要素のスカラ値。 None (default)の場合、形が違う旨のエラーメッセージが発生します。それ以外の場合は、生み出された全ての配列が格納可能な最小限の次元数の配列が生成され、データの外側の要素はこの値で、埋められます。
Returns:

配列、配列のタプル、辞書の配列。,

型はバッチにおける各データの型に依存する。