Tôi đã trích xuất các tính năng sử dụng caffe, tạo ra tệp .mdb. Sau đó, tôi đang cố đọc nó bằng Python và hiển thị nó dưới dạng một số có thể đọc được.Caffe: Đọc LMDB từ Python
import lmdb
lmdb_env = lmdb.open('caffefeat')
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()
for key, value in lmdb_cursor:
print str(value)
Điều này in ra một dòng rất dài các ký tự không đọc được, bị hỏng.
Sau đó, tôi đã cố gắng in int (giá trị), mà trả về như sau:
ValueError: invalid literal for int() with base 10: '\x08\x80 \x10\x01\x18\x015\x8d\x80\xad?5'
float (giá trị) cho phép như sau:
ValueError: could not convert string to float:? 5????5
Đây có phải là một vấn đề với các tập tin lmdb chính nó, hoặc nó có liên quan đến việc chuyển đổi kiểu dữ liệu không?
Lỗi này bạn đang giải quyết ở đây có xuất phát từ lmdb được tạo bằng hình ảnh được mã hóa không? – Shai
@Shai Có, xem [thảo luận tại đây] (https://groups.google.com/d/msg/digits-users/CzHG1aHizsw/QYE3qWpxBgAJ) –
Cảm ơn bạn đã liên kết đến chuỗi liên quan. thêm một ngữ cảnh thích hợp ở đây. Bạn có thể vui lòng chỉnh sửa câu trả lời của mình để phản ánh sự liên quan của nó với mã hoá 'lmdb' không? Nó là rất tốt để nhà nước cả thông báo lỗi cũng như nguyên nhân gốc: hình ảnh được mã hóa trong lmdb. Cảm ơn! – Shai