私はlmdbデータベースを持っており、その内容を読み取ろうとしています!
皮肉は何も画面に印刷されません!
これは私がlmdbからの読み取りのために書かれているコードスニペット:Pythonでlmdbカーソルを使用するとデータが読み込まれない
import caffe
import lmdb
import numpy as np
from caffe.proto import caffe_pb2
import cv2
import sys
db_train = lmdb.open('mnist_train_lmdb')
db_train_txn = db_train.begin()
cursor = db_train_txn.cursor()
print db_train
print db_train_txn
print db_train_txn.cursor()
datum = caffe_pb2.Datum()
index = sys.argv[0]
size_train = 50000
size_test = 10000
data_train = np.zeros((size_train, 1, 28, 28))
label_train = np.zeros(size_train, dtype=int)
print 'Reading training data...'
i = -1
for key, value in cursor:
i = i + 1
if i % 1000 == 0:
print i
if i == size_train:
break
datum.ParseFromString(value)
label = datum.label
data = caffe.io.datum_to_array(datum)
data_train[i] = data
label_train[i] = label
この版画:
<Environment object at 0x0000000009CE3990>
<Transaction object at 0x0000000009CE1810>
<Cursor object at 0x0000000009863738>
Reading training data...
Reading test data...
それは全くのループdoesntの実行のようです!
私はここで何が欠けていますか?
これは通常のlmdbの読み方であると思われますが、私が見たすべてのソースの例は同様のアプローチです。
1000以上のデータ項目がありますか? – CAB
はい実際50Kです。 – Breeze