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 installlmdb即可。如果用两种版本则python2 -m pip installlmdb、python3 -m pip installlmdb同时运行即可。

具体如何知道电脑中存在那个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 installlmdb(最好不要直接pip installlmdb

优质内容筛选与推荐>>
1、第六章 內核數據結構
2、自动安装node---auto_install_k8s_node.sh
3、Linux操纵系统安装.src.rpm软件包的要领
4、<?php $sql = <<<EOF 。。。。EOF;?>这种写法是什么意思
5、SDUT 1918 运送物资(并查集的应用)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn