2017-12-11 4 views
1

で使用するためにlmdbで複数のフィールドを保存:キーとして、私は2つの文字列を格納していは、私がこのように、様々な画像を保存するカフェネット、用lmdbデータベースを構築していますカフェ

txn.put('{:0>10d}'.format(dbCtr),currImageDatum.SerializeToString()) 

、値のペア。しかし、私はまた、いくつかのメタデータを保存したいと思います。具体的には、画像の元になったファイルの名前を保存したいと思います。私の理解はvalue[currImageDatum.SerializeToString(), 'myImage.jpg']のようなものではなく、単一の文字列でなければなりません。

ので、行うには、私が考えることができる唯一の方法は、これは次のようになります。lmdbを読むとき

txn.put('{:0>10d}'.format(dbCtr),currImageDatum.SerializeToString() + '__MY_META_DATA__' + 'myImage.jpg') 

してから、「__MY_META_DATA__」とそれの後の部分前の部分に値文字列を分割します。

これは合理的なアプローチですか?これを行うための他の標準的な方法がありますか?

答えて

0

AFAIKウェイカフェの"Data"レイヤーの読み込みDatumは非常に厳格で、簡単に変更することはできません。
lmdbの代替案を検討している場合は、より柔軟な"HDF5Data"層を見てください。

関連する問題