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. Java程序员壁纸-Java开发

  2. 使用js加载器动态加载外部js、css文件

    let MiniSite = new Object(); /** * 判断浏览器 */ MiniSite.Browser = { ie: /msie/.test(window.navigator.us ...

  3. 前端JS之HTML利用XMLHttpRequest()和FormData()进行大文件分段上传

    用于网页向后端上传大文件 ### 前端代码<body> <input type="file" name="video" id="fi ...

  4. mysql的密码规则问题

    今天在设置mysql某用户的密码时,出现了此报错:   ERROR 1819 (HY000) Your password does not satisfy the current policy req ...

  5. [转帖]Intel 上一代 可扩展CPU的简单报价

    8.1万元人间毒物!Intel 28核铂金版Xeon 8180零售上市 http://news.mydrivers.com/1/541/541670.htm 猜你想看:英特尔 CPU处理器 Xeon ...

  6. Spark学习一:Spark概述

    1.1 什么是Spark ​ Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎. ​ 一站式管理大数据的所有场景(批处理,流处理,sql) ​ spark不涉及到数据的存储,只 ...

  7. 对称加密、非对称加密、数字签名、数字证书、SSL是什么

    非对称密钥加解密 对于一份数据,通过一种算法,基于传入的密钥(一串由数字或字符组成的字符串,也称key),将明文数据转换成了不可阅读的密文,这就是“加密”,同样的,密文到达目的地后,需要再以相应的算法 ...

  8. (六)Spring 中的 JdbcTemplate

    目录 概念 配置数据库 创建 JdbcTemplate 对象 增删改查代码 概念 JdbcTemplate : 是 Spring 中对持久层(JDBC 技术)一个封装 : 使用起来和 Dbutuis ...

  9. 2019南昌网络赛  I. Yukino With Subinterval 树状数组套线段树

    I. Yukino With Subinterval 题目链接: Problem Descripe Yukino has an array \(a_1, a_2 \cdots a_n\). As a ...

  10. COGS 2633. [HZOI 2016] 数列操作e

    [题目描述] 一个长度为n的序列,一开始序列数的权值都是0,有m次操作 支持两种操作, 1 L R x,给区间[L,R]内,第一个数加x,第二个数加2^2⋅x,第三个数加3^2⋅x...第R-L+1个 ...