zoukankan      html  css  js  c++  java
  • CAFFE(FAQ.1):Ubuntu 配置caffe 框架之数据库读取错误:ImportError: No module named lmdb解决办法

    Z:

    在安装了caffe框架后需要读取大量的数据进行学习训练。比如在MNIST识别训练中,一般直接读图片会比较耗时,我们一般将图片转存为数据库中。目前主流的数据库有以下两种选择:

    •   LevelDB
    •   LmDB

    我们可以通过如下代码测试读取LmDB数据库所用时间,具体代码如下

     1 # coding: utf-8
     2 import caffe
     3 import numpy as np
     4 import lmdb
     5 import sys
     6 from caffe.proto import caffe_pb2
     7 def lmdb_process(db_path):
     8     env = lmdb.open(db_path)
     9     datum = caffe_pb2.Datum()
    10     item_id = 0
    11     with env.begin() as txn:
    12         cursor = txn.cursor()
    13         for key, value in cursor:
    14             datum.ParseFromString(value)
    15             label = datum.label
    16             img = caffe.io.datum_to_array(datum)
    17             # do something here
    18             item_id +=1
    19     print item_id
    20     
    21 if __name__ == '__main__':
    22     db_path = sys.argv[1]
    23     lmdb_process(db_path)

    如果运行没有出错,则在终端上执行如下代码,即可实现读取lmdb数据库所用时间。

    1 cd /x...x/pythoncode/  #进入你存放read_lmdb.py的文件夹路径,然后执行
    2 
    3 time python2 read_lmdb.py /home/pertor/caffe/examples/mnist/mnist_train_lmdb/

    有时在运行以上读取数据库LMDB代码时会出现错误的情况,一般LMDB数据库读取错误提示:ImportError: No module named lmdb

    此时在你电脑上可能存在两种情况:
    (1) 电脑中只存在python2或者python3一种         sudo pip install lmdb                    
    (2)电脑中同时存在python2和python3

    注意在不同的版本中略有改变

    python2 -m pip install 模块名称

    python3 -m pip install 模块名称

    当你电脑中同时存在python2和python3时,当caffe用的python2时(推荐),python2 -m pip install lmdb即可。如果用两种版本则python2 -m pip install lmdb、python3 -m pip install lmdb同时运行即可。

     具体如何知道电脑中存在那个python版本和自己电脑默认使用的Python版本,执行如下代码:

    1 $ python2 --version
    2 Python 2.7.14 :: Anaconda, Inc.
    3 $ python --version #查看默认版本
    4 Python 2.7.14 :: Anaconda, Inc.
    5 $ python3 --version
    6 Python 3.6.4 :: Anaconda, Inc.

    总结:

      作者的系统默认使用的python2,执行import lmdb出错提示:ImportError: No module named lmdb

       解决办法:python2 -m pip install lmdb(最好不要直接pip install lmdb

  • 相关阅读:
    PowerShell里的数组
    题解 cf gym 103261 D FFT Algorithm
    欧拉筛求积性函数的一般形式
    题解 LOJ 6053
    题解 SP34112 UDIVSUM
    题解 luogu P5162 WD与积木
    Java 关闭流同步输入输出
    题解 luogu P6620 [省选联考 2020 A 卷] 组合数问题
    hdu 6588 题解
    题解 cf gym 102979 E Expected Distance
  • 原文地址:https://www.cnblogs.com/pertor/p/8732571.html
Copyright © 2011-2022 走看看