2017-03-09 10 views
0

セマンティックセグメンテーションのために1つのイメージをFCNに送るときのミニバッチの概念は何ですか?FCN(セマンティックセグメンテーション)用のミニバッチの概念は何ですか?

データレイヤのデフォルト値はbatch_size: 1です。これは、順方向および逆方向のすべてのパスを意味し、1つのイメージがネットワークに送信されます。では、ミニバッチサイズはどのようになりますか?画像のピクセル数ですか?

他の質問は、ネットにいくつかの画像を一緒に送信するとどうなりますか?それは収束に影響しますか?いくつかの論文では、私は20の画像の数を見る。

おかげ

+0

batch_sizeが1の場合は、最小バッチサイズも1であることを意味します。 –

+0

@MatiasValdenegroありがとうございます。 –

答えて

1

バッチサイズは、単一のトレーニング動作にネットワークを介して送信された画像の数です。グラフィックスカードまたはCPUクラスタでトレーニングを行うと、1回のスワップですべてのサンプルの勾配が計算され、並列性によって大きなパフォーマンスが得られます。

バッチサイズはトレーニングに複数の影響を与えます。まず、バッチ内の勾配を平均化することにより、より安定した勾配更新を提供します。これは有益でも有害でもあります。私の経験では、有害で有害でしたが、他の人は他の結果を報告しました。

並列性を利用するには、バッチサイズはほとんどが2の累乗です。したがって、8,16,32,64、または128です。最後に、バッチサイズはグラフィックスカードのVRAMによって制限されます。カードは、すべての画像および結果をグラフのすべてのノードに格納し、さらにすべての勾配を格納する必要があります。

これは非常に高速に爆発する可能性があります。この場合は、バッチサイズまたはネットワークサイズを小さくする必要があります。

+0

あなたのお返事ありがとうございます。画像 'segmentation'と' classification'の間にミニバッチ概念の違いはありますか? –

+0

本当にありません。私の意見では、クラス内の違いがしばしば大きいため、セグメンテーションではより重要です。しかし概念的には違いはありません –

関連する問題