【ビッグデータ処理】キー値対データベースLeveldb
2175 ワード
Leveldb Leveldb紹介Leveldbはgoogleが実現した非常に効率的な(key-value)データベースであり、10億レベルのデータ量をサポートすることができます.この数のレベルでは、主にその良好な設計のおかげで、非常に高い性能を持っています.LevelDBは単一プロセスのサービスで、性能は非常に高く、4コアQ 6600のCPUマシンでは、毎秒40 w以上のデータを書き込み、ランダムに読む性能は毎秒10 wを超える. Python Leveldb Pythonはleveldbを実現しました.ここでは をダウンロードできます. Python Leveldbのインストールubuntuの下でleveldbをインストールするのはとても簡単です
すぐできます.4.使うのも簡単で、その関数とパラメータもいくつかあります
実際の応用:
私はcaffeを勉強してからleveldbというものがあることを知ったのですが、leveldbよりも高級なLMDBがありますが、そのドキュメントを見てみると、leveldbよりずっと複雑で、先にleveldbを勉強して、時間があってからleveldbを勉強します.caffeにpythonのleveldbの例はなく、C++で直接画像をleveldbに変換し、自分の画像をleveldbとして保存するように真似していたが、訓練後にエラーが見つかり、原因が見つからなかったため、pythonの実装が見つかった.結局pythonはエラーを探すのが簡単だった.
caffeでは、トレーニングデータを準備する必要があります.その中には、leveldbとlmdb、比較的効率的なhdf 5と直接画像ファイルがあります.
トレーニングデータをleveldbまたはlmdbに保存するには、データをキー値ペア、すなわち画像がkey、ラベルがvalueに変換すればよい.
sudo pip install leveldb
すぐできます.4.使うのも簡単で、その関数とパラメータもいくつかあります
import leveldb
#
import os
mkdir('./db')
db = leveldb.LevelDB('./db')
# single put
db.Put('hello', 'world')
print db.Get('hello')
# single delete
db.Delete('hello')
# 。
print db.Get('hello')
# multiple put/delete applied atomically, and committed to disk
batch = leveldb.WriteBatch()
batch.Put('hello', 'world')
batch.Put('hello again', 'world')
batch.Delete('hello) db.Write(batch, sync= True)
実際の応用:
私はcaffeを勉強してからleveldbというものがあることを知ったのですが、leveldbよりも高級なLMDBがありますが、そのドキュメントを見てみると、leveldbよりずっと複雑で、先にleveldbを勉強して、時間があってからleveldbを勉強します.caffeにpythonのleveldbの例はなく、C++で直接画像をleveldbに変換し、自分の画像をleveldbとして保存するように真似していたが、訓練後にエラーが見つかり、原因が見つからなかったため、pythonの実装が見つかった.結局pythonはエラーを探すのが簡単だった.
caffeでは、トレーニングデータを準備する必要があります.その中には、leveldbとlmdb、比較的効率的なhdf 5と直接画像ファイルがあります.
トレーニングデータをleveldbまたはlmdbに保存するには、データをキー値ペア、すなわち画像がkey、ラベルがvalueに変換すればよい.