3

私は Caffe とディープ ラーニングを始めていますが、HDF5 データで Caffe を使用してモデルをトレーニングするために必要な前処理手順を理解できません。具体的には、

  1. 画像を [0-1] の範囲に変換する必要がありますか。ノートブックの例 (00-classification.ipynb) では、モデルが [0-255] の範囲で動作することが示されていますが、一部の参照では [0-1] である必要があることが示されています。これはどうやって決めるのですか?
  2. ドキュメントによると、画像データのバッチの従来のブロブの寸法は、N x チャネル K x 高さ H x 幅 W です。これについて競合はありません。
  3. RGB から BGR への変換のチャネル スワップ ステップは必須ですか?
  4. HDF5データの画像平均計算を実行するには? の場合compute_image_mean.cpp、バックエンドは lmdb です。これはパフォーマンスを向上させるためだけですか?

LMDB の使用に関しては、質問 1 から 3 は依然として保持されます。これに関する明確化は高く評価されます。

4

1 に答える 1

3

カフェへようこそ。

1.入力データを [0..1] または [0..255] の範囲にスケーリングするかどうかは、完全にあなた次第です。一部のモデルは [0..1] の範囲で動作し、他のモデルは [0..255] の範囲で動作し、入力方法 (LMDB/HDF5) の選択とはまったく関係ありません。
ここで最も重要なことは、一貫性を保つことです。範囲 [0..1] で作業することにした場合は、トレーニング セットと検証セットの両方が同じ方法で準備されていること、および「デプロイ」フェーズ中の新しい例が同じ範囲にスケーリングされていることを確認する必要があります。

2.すでに観察したように、Caffe Blob は常に 4 次元のバッチ チャネル幅高さです。

3. RGB から BGR への変換も必須ではありませんが、BGR は opencv が画像を読み取る方法であるため、非常に一般的です。繰り返しますが、ここで最も重要なことは、ネットのライフサイクル全体にわたる一貫性です。

4.最近のモデルでは、ピクセルごとの平均ではなく、チャネルごとの平均が減算されます。特にネットの入力サイズを変更する場合は、より便利です。HDF5 データを処理するとき、平均画像を計算し、binaryproto に保存できます。ここで例を参照してください。

于 2015-11-18T06:51:38.000 に答える