Z:

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

  •   LevelDB
  •   LmDB

如果我们需要的数据格式是LevelDB,我们需要执行以下命令

gedit^C/caffe/examples/mnist/create_mnist.sh

然后在打开的编辑器里面修改create_mnist.sh脚本的代码,将BACKEND=lmdb改为:BACKEND="leveldb"

如下脚本中突出显示部分:

#!/usr/bin/env sh
# This script converts the mnist data into lmdb/leveldb format,
# depending on the value assigned to $BACKEND.
set -e EXAMPLE=examples/mnist
DATA=data/mnist
BUILD=build/examples/mnist #BACKEND="lmdb"
BACKEND="leveldb" echo "Creating ${BACKEND}..." rm -rf $EXAMPLE/mnist_train_${BACKEND}
rm -rf $EXAMPLE/mnist_test_${BACKEND} $BUILD/convert_mnist_data.bin $DATA/train-images-idx3-ubyte \
$DATA/train-labels-idx1-ubyte $EXAMPLE/mnist_train_${BACKEND} --backend=${BACKEND}
$BUILD/convert_mnist_data.bin $DATA/t10k-images-idx3-ubyte \
$DATA/t10k-labels-idx1-ubyte $EXAMPLE/mnist_test_${BACKEND} --backend=${BACKEND} echo "Done."

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

# coding: utf-

# # 读取LevelDb数据库中的数据

import sys
import caffe
from caffe.proto import caffe_pb2
import leveldb
import numpy as np
from skimage import io def leveldb_process(path):
db = leveldb.LevelDB(path)
datum = caffe_pb2.Datum() item_id =
for key,value in db.RangeIter():
datum.ParseFromString(value)
label = datum.label
data = caffe.io.datum_to_array(datum)
# do something here
item_id +=
print item_id if __name__ == '__main__':
path = sys.argv[]
leveldb_process(path)

当执行读取levelDB数据库中的数据时出现错误提示:ImportError: No module named leveldb解决办法如下:

打开终端执行命令:

python2 -m pip install leveldb

然后再运行数据库读取代码段即可。

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

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

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

  2. ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2

    ubuntu上跑python连接pg,报错  ImportError: No module named psycopg2 root@pgproxy1:~# python /home/zxw/PGWri ...

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

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

  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自带的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 ...

  8. ubuntu下使用python3的有些库时,解决"raise ImportError(str(msg) + ', please install the python3-tk package') ImportError: No module named '_tkinter', please install the python3-tk package"的错误

    问题: 在Ubuntu下使用matplotlib这个库时,运行时出现如下错误: raise ImportError(str(msg) + ', please install the python3-t ...

  9. linux配置docker报错:ImportError: No module named yum

    如题,安装docker后配置仓库报错: [root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux ...

随机推荐

  1. selenium+python自动化测试-环境搭建

    firefox浏览器打不开的解决办法: 1.确认将geckodriver拷贝到Firefox安装目录 2.将安装目录添加到Windows的path里 3.重启IDE  

  2. 2019-10-17 李宗盛 spss作业

    开放数据库连接是为解决异构数据库之间的数据共享而产生的,现已成为Wosa cwindows开放系统体系结构主要部分和基于Windows环境的一种数据库访问接口标准ODBS被异构数据库访问提供统一接口, ...

  3. appium(api操作)

    driver.current_activity #获取当前activity driver.current_package #获取包名 driver.lock(seconds=2) #息屏 #收起虚拟键 ...

  4. 《MIT 6.828 Lab 1 Exercise 11》实验报告

    本实验的网站链接:MIT 6.828 Lab 1 Exercise 11. 题目 The above exercise should give you the information you need ...

  5. 《你必须知道的495个C语言问题》读书笔记之第11-14章:ANSI C标准、库函数、浮点数

    一.ANSI C标准 1. ANSI向C语言预处理器引入了几项新的功能,包括“字符串化”操作符(#).“符号粘贴”操作符(##).#pragma指令. 2. Q:char a[3] = "a ...

  6. [Cometoj#4 E]公共子序列_贪心_树状数组_动态规划

    公共子序列 题目链接:https://cometoj.com/contest/39/problem/E?problem_id=1585 数据范围:略. 题解: 首先可以考虑知道了$1$的个数和$3$的 ...

  7. Java入门请不要放弃,学习路线以及侧重点分析

    前言: ●众多的语言,到底哪一门才是适合我的? ●我们为什么要学习Java语言呢? ●Java学习路线 我们可以通过今年最新的TIOBE编程语言排行榜看到,JAVA在"昨天".和& ...

  8. Python+request超时和重试

    Python+request超时和重试 一.什么是超时? 1.连接超时 连接超时指的是没连接上,超过指定的时间内都没有连接上,这就是连接超时.(连接时间就是httpclient发送请求的地方开始到连接 ...

  9. 什么是大数据计算服务MaxCompute

    大数据计算服务(MaxCompute,原名ODPS)是一种快速.完全托管的EB级数据仓库解决方案. 当今社会数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行业无法承载的海量数据(百 ...

  10. Kubernetes---资源控制器之ReplicationController、ReplicaSet和Deployment

    1.ReplicationController和ReplicaSet介绍 RC(ReplicationController)主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数.即如果有容 ...