Z:

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

  •   LevelDB
  •   LmDB

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

 # coding: utf-8
import caffe
import numpy as np
import lmdb
import sys
from caffe.proto import caffe_pb2
def lmdb_process(db_path):
env = lmdb.open(db_path)
datum = caffe_pb2.Datum()
item_id = 0
with env.begin() as txn:
cursor = txn.cursor()
for key, value in cursor:
datum.ParseFromString(value)
label = datum.label
img = caffe.io.datum_to_array(datum)
# do something here
item_id +=1
print item_id if __name__ == '__main__':
db_path = sys.argv[1]
lmdb_process(db_path)

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

 cd /x...x/pythoncode/  #进入你存放read_lmdb.py的文件夹路径,然后执行

 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版本,执行如下代码:

 $ python2 --version
Python 2.7.14 :: Anaconda, Inc.
$ python --version #查看默认版本
Python 2.7.14 :: Anaconda, Inc.
$ python3 --version
Python 3.6.4 :: Anaconda, Inc.

总结:

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

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

CAFFE(FAQ.1):Ubuntu 配置caffe 框架之数据库读取错误:ImportError: No module named lmdb解决办法的更多相关文章

  1. CAFFE(FAQ.2):Ubuntu 配置caffe 框架之数据库读取,错误解决:ImportError: No module named leveldb解决办法

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

  2. caffe安装编译问题-ImportError: No module named caffe

    问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...

  3. windows下编译caffe报错:error MSB4062: 未能从程序集 E:\NugetPackages\OpenCV.2.4.10\......的解决办法

    参考博客:http://blog.csdn.net/u013277656/article/details/75040459 在windows上编译caffe时,用vs打开后会自动加载还原NugetPa ...

  4. ImportError: No module named caffe.proto解决办法

    原文   https://blog.csdn.net/lanyuelvyun/article/details/73628152 在用自己的数据训练基于caffe的SSD模型的时候,我们需要将图片数据转 ...

  5. caffe安装编译问题-ImportError: No module named google.protobuf.internal

    问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...

  6. caffe安装编译问题-ImportError: No module named skimage.io

    问题描述 >>> import caffe Traceback (most recent call last): File , in <module> File , in ...

  7. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  8. [原创] 更新Ubuntu自带的python2.X版本 ImportError: No module named pip;ImportError: No module named _sqlite3

    Ubuntu14.04自带的Python2版本,是2.7.6的,想更新为最新的2.7.11,操作如下: 1. 从python官网下载2.7.11的source源码包 Python-2.7.11.tgz ...

  9. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

     使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...

随机推荐

  1. intel 酷睿core系列cpu的类型:U M H HQ MQ

    相对于笔记本来说.一般我们说的intel系列cpu是指应用于desktop桌面版,embedded嵌入式版, mobile移动版 桌面版和移动版cpu对比 http://tieba.baidu.com ...

  2. Eureka报错: Connect to localhost:8761 timed out

    最近整理配置Eureka时, 注册服务后, Eureka服务一直报出如下错误: 如下是我的单台eureka的 application.yml 配置: spring: application: name ...

  3. Github搭建个人博客的总结

    1.  参考 这个 博客 : https://blog.csdn.net/xudailong_blog/article/details/78762262 2. 把上面按照的就安装,并把git 仓库克隆 ...

  4. 01.03 vim编辑器使用

    ==========linux基础命令的使用==========================绝对路径:由根目录(/)开始写起的文件名或目录名称相对路径:相对于目前路径的文件名写法(开头不是/就属于 ...

  5. C/C++编程

    基本的数据类型: 整型 浮点型(单精度.双精度) 在c语言中,所有的变量声明必须在任何执行语句之前(对当前域来说), 否则编译的时候会出现变量是未声明的标识符的错误. main 入口参数:argc 和 ...

  6. centOS 安装 npm

    下载 cd /usr/local/node wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar. ...

  7. pacemaker入门

    原文链接:https://blog.csdn.net/a964921988/article/details/82628478 因为数据库部署在Linux上,需要做数据库集群实现高可用,而所有的Post ...

  8. POJ2513 【并查集+欧拉路径+trie树】

    题目链接:http://poj.org/problem?id=2513 Colored Sticks Time Limit: 5000MS   Memory Limit: 128000K Total ...

  9. Redis3.2学习记录

    nosql 特征:访问量大,高并发,高可用,海量数据 redis3.2作用:减轻关系型数据库查询的压力安装:windows下解压即可使用,启动服务如:redis-server redis-config ...

  10. 2.1spring cloud 环境配置

    前提:SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系. 所以基本是搭建SpringBoot + 组件 = Sp ...