CAFFE(FAQ.1):Ubuntu 配置caffe 框架之数据库读取错误:ImportError: No module named lmdb解决办法
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解决办法的更多相关文章
- CAFFE(FAQ.2):Ubuntu 配置caffe 框架之数据库读取,错误解决:ImportError: No module named leveldb解决办法
Z: 在安装了caffe框架后需要读取大量的数据进行学习训练.比如在MNIST识别训练中,一般直接读图片会比较耗时,我们一般将图片转存为数据库中.目前主流的数据库有以下两种选择: LevelDB Lm ...
- caffe安装编译问题-ImportError: No module named caffe
问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...
- windows下编译caffe报错:error MSB4062: 未能从程序集 E:\NugetPackages\OpenCV.2.4.10\......的解决办法
参考博客:http://blog.csdn.net/u013277656/article/details/75040459 在windows上编译caffe时,用vs打开后会自动加载还原NugetPa ...
- ImportError: No module named caffe.proto解决办法
原文 https://blog.csdn.net/lanyuelvyun/article/details/73628152 在用自己的数据训练基于caffe的SSD模型的时候,我们需要将图片数据转 ...
- caffe安装编译问题-ImportError: No module named google.protobuf.internal
问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...
- caffe安装编译问题-ImportError: No module named skimage.io
问题描述 >>> import caffe Traceback (most recent call last): File , in <module> File , in ...
- ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法
ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...
- [原创] 更新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 ...
- 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...
随机推荐
- Jenkins+gitlab+maven持续集成
https://blog.csdn.net/tq08g2z/article/details/79718425 https://www.jianshu.com/p/3507d8b2ac87 报错用下面解 ...
- 每次开机后需要重新连接wifi才能上网
这几天打开电脑后,每次都要重新连接wifi才能上网, 网上查到如下解决方法: 打开网络和共享中心->右键无线网络->配置->电源管理->允许计算机关闭此设备以节约电源(勾选去掉 ...
- Unity爬坑记录-Sprite 相关功能Editor、打包器等无法使用
找了好久的问题,同一个Unity,但是不同项目,一个没问题,一个出现上面情况.
- Centos7下 升级php5.4到7.1 yum安装
1.查看当前 PHP 版本 php -v 查看当前 PHP 相关的安装包,删除之 yum list installed | grep php yum remove php yum remove php ...
- 理解、学习与使用 JAVA 中的 Optional【转载】
这是一篇转载的文章.刚学java的时候看了好久这个Optional,但一直是懵的.今天又又遇到了,重新回来再看的时候,发现并没有那么难道那个. 转载的文章再开头处写了一个对于理解Optional很关键 ...
- 【VS开发】C/C++预编译命令
C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令或预处理器.虽然它们实际上不是C语言的一部分,但却扩展了C程 序设计的环境. 预处理指令的主要作用就是把通过预处理的内建功能 ...
- Qt5."Clang Code Model"一些设置
1.有些设置 可能这里在设置了,到别的地方(例如换了一个机子) 又要设置,这样的话 在不熟练的时候 手动敲进去会比较慢,这里 先记录下来 以后要用 直接复制就行了 2.Qt5.9.8 vs2017 : ...
- [LuoguP1074]靶形数独_搜索
靶形数独 题目链接:https://www.luogu.org/problem/P1074 数据范围:略. 题解: 传说中的大爆搜题啊. 我觉得这种题就是你能想到什么优化就直接上什么优化.... 这个 ...
- Redis 学习笔记(篇八):事件
Redis 服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件: Redis 服务器通过套接字与客户端(或者其他 Redis 服务器)进行连接,而文件事件就是服务器对套接字操作的抽象.服 ...
- 剑指offer47:位运算+递归。求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
1 题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 2 思路和方法 (1)递归,不能使用if等 ...