データリーダー

データリーダーは、特定の形式で入力データを読み取るクラスです。リーダーには、設定に使用できるパラメーターが提供される場合があります。リーダーとパラメーターは、必要に応じて構成ファイルを通じて設定されます。

設定ファイルでデータリーダーを設定する方法の説明

特定のリーダーを使用するため、構成ファイルの datasets セクションでデータリーダーを指定できます。リーダーが指定されていない場合、デフォルトで opencv_imread リーダーが使用されます。

データセットにデータリーダーを設定するには 2 つの方法があります。

  • リーダーを文字列で定義します。

reader: opencv_imread
  • リーダー名を設定するために type: を使用して、リーダーを辞書として定義します。このアプローチにより、必要に応じてリーダーに追加のパラメーターを設定できます。

reader:
  type: opencv_imread
  reading_flag: gray

異なる形式 (画像や JSON など) で保存されたデータを使用する複数の入力を持つモデルがある場合、combine_reader を使用できます。combine_reader を使用すると、ファイル名に応じて読み取りスキームを指定できます。パラメーター scheme を使用して、キーがファイル名の正規表現、値が reader_name である辞書の読み取り方法を記述します。

reader:
  type: combine_reader
  scheme:
    *.json: json_reader
    *.jpeg: opencv_imread

サポートされるデータリーダー

精度チェッカーは、次のデータリーダーをサポートしています。

  • opencv_imread - OpenCV ライブラリーを使用して画像を読み込みます。デフォルトの色空間は BGR です。

    • reading_flag - (オプション) 画像の読み取り方法を指定するフラグ: color - デフォルト、カラー画像をロード、gray - 画像をグレースケール・モードでロード、unchanged - アルファチャネルを含む画像をそのままロードします。

  • pillow_imread - Pillow ライブラリーを使用して画像を読み取ります。デフォルトの色空間は RGB です。

    • to_rgb - 画像の RGB への変換を許可します (オプション、デフォルトは True)

  • scipy_imread - 次と同様のアプローチを使用して画像を読み取る: scipy.misc.imread

Note: since 1.3.0 version the image processing module is not a part of scipy library. This reader does not use scipy anymore.
  • skimage_imread - scikit-mage ライブラリーを使用してイメージを読み取ります。デフォルトの色空間は RGB です。

  • tf_imread- TensorFlow を使用して画像を読み取ります。デフォルトの色空間は RGB です。TensorFlow をインストールする必要があります。

  • opencv_capture - OpenCV を使用してビデオからフレームを読み取ります。

  • json_reader - json ファイルから値を読み取ります。

    • key - json 辞書に保存されている読み取り用のキー。

  • annotation_features_extractor - アノテーションから特徴を読み取ります。

    • features - 特徴のリスト。すべての特徴はアノテーション表現のフィールドである必要があります。

  • numpy_reader - numpy でダンプされたファイルを読み取ります (npy または npz 形式がサポートされています)

    • keys - カンマで区切ったモデル入力名のリスト

    • separator - 入力識別子とファイル識別子の間の区切り記号

    • id_sep - 入力識別子の入力名とレコード番号の間の区切り記号

    • block - ブロックモード (バッチ向け)。このモードでは、リーダーは変数全体を返します。

    • record_mode - フィールド名とレコード ID の間の区切り文字として id_sep を使用して、numpy 配列から特定のレコードを取得できるようにします

  • numpy_txt_reader- テキスト形式で保存されたデータを numpy 配列に読み取ります。

  • numpy_dict_reader - numpy ファイルに保存された辞書を読み取ってアンパックします。

  • numpy_bin_reader - numpy を使用してバイナリーファイルを読み取ります。

    • dtype - 配列読み取りデータタイプ (オプション、デフォルトは float32)。

    • as_buffer - バイナリーファイルをバッファーとして読み取ります (オプション、デフォルトは False)。

    • offset - as_buffer が有効な場合の開始デコード配列のオフセット (オプション、デフォルトは 0)。

  • nifti_reader - NifTI データ形式を読み取ります

    • channels_first - nifti ファイルを読み取り、チャネルが最初の順序で転置できるようにします (オプション、デフォルトは False)

    • multi_frame - 3D 画像を 2D フレームのシーケンスとして読み取ることができます (オプション、デフォルトは False)

    • frame_separator - multi_frame モードでのファイル名とフレーム番号の間の文字列区切り文字 (オプション、デフォルトは #)

    • frame_axis - 3D 画像のフレーム軸の数 (オプション、デフォルトは -1、最後の軸)

    • to_4D - 読み取り結果の 4D 次元への展開を制御します (オプション、デフォルトは True)

  • wav_reader - WAV ファイルを NumPy 配列に読み込みます。サンプルレートも取得します。

    • mono - マルチチャネル・オーディオがロードされている場合、チャネルに沿った平均値を取得します (オプション、デフォルトは False)。

    • to_float - オーディオ信号を float に変換します (オプション、デフォルトは False)。Float データタイプは float_dtype パラメーターを使用して選択できます。

    • float_dtype - to_float 変換のデータタイプを指定します。サポートされている値: float16float32float64。オプションであり、デフォルトは float32

    • flattenize - 信号を平坦化します (オプション、デフォルトは False)。

  • dicom_reader - DICOM 形式で保存された画像を読み取ります。

  • pickle_reader - pickle ファイルに保存されているデータを読み取ります。pickle コンテンツのサポートされている形式:

    1. 数値データ配列

    2. 数値データ配列 + 辞書に格納されたメタデータ

  • rawpy - rawpy ライブラリーを使用して生の画像形式を読み取ります。

    • postprocess - 画像の後処理と正規化を許可します (オプション、デフォルトは True)。

  • byte_reader - 生のバイナリーデータを読み取り、それらを numpy-array にラップします。

  • lmdb_reader - LMDB データベースから指定されたインデックスの画像を抽出します。

  • kaldi_ark_reader - Kaldi* アーカイブ形式 (ark) を読み取ります。

  • flac_reader - FLAC ファイルを NumPy 配列に読み込みます。

    • dtype - データの読み取り精度を指定します。サポートされる値: float32float64int16int32。オプションであり、デフォルトは int32

    • mono - マルチチャネル・オーディオがロードされている場合、チャネルに沿った平均値を取得します (オプション、デフォルトは False)。