web-dev-qa-db-ja.com

Caffe用のLMDBの生成

Caffeを使用して顕著性分析の深層学習モデルを構築しようとしています(pythonラッパーを使用しています)。しかし、この目的でlmdbデータ構造を生成する方法を理解できません。I Imagenetとmnistの例を確認しましたが、この形式でラベルを生成する必要があることを理解しています。

my_test_dir/picture-foo.jpg 0

しかし、私の場合、各ピクセルに0または1のラベルを付けて、そのピクセルが顕著であるかどうかを示します。それは画像の単一のラベルではありません。

ピクセルごとのラベリング用のlmdbファイルを生成する方法は?

9
Unni

この問題には、次の2つの方法でアプローチできます。

1。LMDBの代わりにHDF5データレイヤーを使用します。 HDF5はより柔軟性があり、画像のサイズのラベルをサポートできます。 HDF5入力データレイヤーの構築と使用の例については、 この回答 を参照してください。

2。2つのLMDB入力レイヤーを持つことができます。1つは画像用、もう1つはラベル用です。 LMDBをビルドするときは、画像とそのラベルを同期させるために、not'shuffle'オプションを使用する必要があることに注意してください。

更新:最近、より詳細な回答をしました ここ

10
Shai

これを確認してください: http://deepdish.io/2015/04/28/creating-lmdb-in-python/

すべての画像をXに、対応するラベルをYにロードするだけです。

1
Avijit Dasgupta

Caffeでは、lmdbとhdf5の両方が、画像ごとに複数のラベル、必要に応じてマトリックスをサポートしています。次のスレッドを参照してください。

https://github.com/BVLC/caffe/issues/1698#issue-53768814

python code:

http://www.kostyaev.me/article/Multilabel%20Dataset/

編集:たとえば、ラベルの場合、caffe/python/caffe.io.pyにある3次元配列をデータムに変換するcaffe-python関数を使用します:array_to_datum(arr、label = None):

0
Menx100