首页 > 编程知识 正文

python版的leveldb的简单介绍

时间:2023-12-29 13:16:44 阅读:330044 作者:LWPU

本文目录一览:

python 怎么安装leveldb

安装Python包,的确是pip最为方便了,简单快捷,因为它直接是从pypi上面下载文件,保证文件的安全性和可靠性,并且资源丰富;下面是安装步骤:

下载 setuptools,注意对应 Python 的版本,完成后运行 exe 即可完成安装

setuptools-1.4.1.win32-py2.6.exe

下载 pip

pip-1.4.1.tar.gz

安装 pip

3.1 解压pip-1.4.1.tar.gz

3.2 运行CMD,进入命令行

3.3 用CD命令进入 pip 解压目录

3.4 输入 "python setup.py install"

3.5 添加环境变量 path = C:Python26ArcGIS10.0Scripts

验证是否安装成功,运行CMD,进入命令行,输入pip;

如果出现pip的用法介绍,说明安装成功。

进入命令行,输入 "pip install package",package为安装包名称,就可以随意使用了;

如果pip安装不成功的话,建议去PYPI上下载文件,然后自行安装。

python 大牛 用什么web框架

Pyramid, Django, 和 Flask都是优秀的框架,为项目选择其中的哪一个都是伤脑筋的事。我们将会用三种框架实现相同功能的应用来更容易的对比三者。也可以直接跳到框架实战

简介

Flask是一个面向简单需求小型应用的“微框架(microframework)”。Pyramid和Django都是面向大型应用的,但是有不同的拓展性和灵活性。Pyramid的目的是更灵活,能够让开发者为项目选择合适的工具。这意味着开发者能够选择数据库、URL结构、模板类型等等。Django目的是囊括web应用的所有内容,所以开发者只需要打开箱子开始工作,将Django的模块拉进箱子中。

Django包括一个开箱即用的 ORM ,而Pyramid和 Flask让开发者自己选择如何或者是否存储他们的数据。到目前为止对于非Django的web应用来说最流行的ORM是SQLAlchemy,同时还有多种其他选择,从 DynamoDB和MongoDB 到简单本地存储的LevelDB 或朴实的SQLite。Pyramid被设计为可使用任何数据持久层,甚至是还没有开发出来的。

关于框架

Django已经内建了模板、表单、路由、认证、基本数据库管理等等。比较起来,Pyramid包括路由和认证,但是模板和数据库管理需要额外的库。

Flask历史相对更短,但它能够学习之前出现的框架并且把注意力放在了微小项目上。它大多数情况被使用在一些只有一两个功能的小型项目上。例如 httpbin,一个简单的(但很强大的)调试和测试HTTP库的项目。

Flask

Flask的hello world应用非常的简单,仅仅单个Python文件的7行代码就够了。

Django

Django 也有自己的 bootstrap 工具, 内置在 django-admin 中.

Django 默认只在项目中创建 空白的 model 和模板文件, 供新手参考的示范代码不多

模板

1、Django

python leveldb 统计有多少数据

import sys

import leveldb

def read_data():

if len(sys.argv) 2:

print "pls input leveldb dir"

return -1

db = leveldb.LevelDB(sys.argv[1])

for k in db.RangeIter(include_value = False):

print db.Get(k)

if __name__ == '__main__':

read_data()

print "read end"

如何在Windows下安装配置python接口的caffe

整了一晚上加一上午。网上关于python的记录较少,这里写一下。

这里的环境是WIN10+cuda v7.5 +cudnn v4 + opencv + pycharm+VS2013

使用的是GPU,我的GPU是titan16G+内存32G

首先是caffe的文件以及第三方库的编译,这里提供一个已经编译好的的连接,我就是从那里下好然后编译完毕的。

点击打开链接 happynear的

然后就是如何编译python接口。

1、首先先生成两个python文件,在src/caffe/proto/extract_proto.bat 里生成caffe_pb2.py 这个之后有用。

2、然后打开已经给好的caffe/buildVS2013,打开里面已经有的工程文件,正常的情况下应该是有7个工程,选中pycaffee单独作为要编译的项目。如图所示:

把pycaffe作为单启动。注意需要在release x64位下编译。

如果没有这个的话,就将这个文件夹里python文件夹中的项目加入即可。如果没有python项目,就自己建一个,将python文件夹里的cpp文件加入就可以了。

3、选择pycaffe的属性,将配置属性下的VC++目录中的包含目录和库目录填上你python所在的include和libs 再在C/C++的目录下的附加包含目录一项中添加

以我的python为例。D:/python27/Lib;D:/python/include/ 以及D:/Python27/Lib/site-packages/numpy/core/include 如果你安装了CUDNN这里可以在预处理器那里把USE_CUDNN加上,同时在LINKER的输入目录下的附加依赖库中加入cudnn的lib文件。

3、开始编译即可。这里要注意一定要和caffe、caffelib在一个项目里编译,否则会报错。

4、编译成功后会在caffe/python/caffe下生成_caffe.pyd 是打不开的

5、配置python环境:需要几个额外库

Cython=0.19.2

numpy=1.7.1

scipy=0.13.2

scikit-image=0.9.3

matplotlib=1.3.1

ipython=3.0.0

h5py=2.2.0

leveldb=0.191

networkx=1.8.1

nose=1.3.0

pandas=0.12.0

python-dateutil=1.4,2

protobuf=2.5.0

python-gflags=2.0

pyyaml=3.10

Pillow=2.3.0

six=1.1.0

其中numpy要装MKL版本的,不然scipy装上了BLAS不能用

leveldb没有windows版本的,不过我找到了可以使用的办法。见这个博客:

点击打开链接

如果有pip install 装不上的,可以上这个网站找 wheel文件安装就可以了

点击打开链接

6、最后把目录中python下的caffe文件夹复制到python27/Lib/site-packages就可以了。

测试的时候只需要在控制台下输入import caffe 看能载入就知道成功了:)

想学爬虫就一定要学Python吗?

学python不一定要学爬虫。python的应用范围很广泛,如软件开发、科学计算、自动化运维、云计算、web开发、网络爬虫、人工智能等。爬虫不仅仅可以用python写,很多语言都可以实现爬虫。例C,C++、C#、Perl、 Python、Java、 Ruby都可以写爬虫,原理其实相差不大,只不过是平台问题。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件;爬虫主要的工作就是根据一定的规则去抓取网络上我们想要的数据的程序,这里大家要注意的是爬虫不一定非要使用Python才可以实现的,使用JavaScript、Java等语言都是可以实现的。千锋教育拥有多年Python培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。

如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口

一、准备

需要用到的东西我已经帮大家全部准备好了,有2016年2月4日刚刚从caffe官方master分支fork过来的源代码。有我自己亲手制作的第三方库,在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。

解压好之后,要将3rdparty/bin文件夹添加到环境变量的PATH中,这样才能让程序找到这些第三方库的dll。

最后是CUDA和MKL了,MKL是可选的,大家可以去Intel官方申请,如果不用cpu模式的话其实也无所谓,在第三方库包中我还提供了openblas的库文件。

我使用的是CUDA 7.5版,建议大家也安装这个版本。

二、编译

编译非常简单,分为以下几步:

1、双击./src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h和caffe.pb.cc两个c++文件,和caffe_pb2.py这个Python使用的文件。

2、打开./buildVS2013/MainBuilder.sln,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 7.5版,这时就要用记事本打开./buildVS2013目录下各个文件夹内的.vcxproj文件,搜索CUDA 7.5,把这个7.5换成你自己的CUDA版本,就可以正常打开了。

另外,如果你的显卡比较老或者没有显卡,请使用./build_cpu_only/MainBuilder.sln。

3、点上边工具栏中的绿色三角编译吧。编译大概需要半小时左右,请耐心等待。

如果要用matlab wrapper来提取特征、观察训练好的权重的话呢,只需要把matcaffe项目里面的matlab目录修改成你自己的,然后编译,你就能从matlab/+caffe/private文件夹里面找到一个叫caffe_.mexw64的文件啦。

python的wrapper类似,把pycaffe项目里的python目录改成你自己的(我用的是Anaconda),就能在python/caffe文件夹中生成_caffe.pyd的python dll文件。

三、测试

到 下载已经转换好的MNIST的leveldb数据文件,解压至./examples/mnist文件夹中,然后运行根目录下的run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头,txt格式的日志文件中。

ps:如果你编译成功的话,不要忘了给我的github工程点个star!

四、旧更新日志

2015/02/25 微软制作了一个caffe的windows版,他们更加专业,做出来的solution更加容易维护,第三方库完全由Nuget进行管理,几乎不用配置什么东西

2015/12/09 我总结了一下比较常见的问题,写在 里,而且未来会持续更新,如果碰到问题请先查看这个FAQ列表。

2015/09/14 Caffe现在支持单机多GPU啦,直接在caffe命令后面加--gpu=all或--gpu=0,1 即可使用多个GPU进行训练。

如果使用多gpu训练,不要直接点cmd窗口的X,最好使用Ctrl+C来终止程序,不然显卡驱动有时候会崩溃。

还有如果要在训练中途存一个snapshot,可以用Ctrl+Break。

因此一个正常的终止训练的操作是:

先Ctrl+Break保存当前工作状态,然后Ctrl+C终止训练。

2015/08/18 lmdb现在已经可以使用了,不过磁盘必须是NTFS格式的才可以。有需要的请到下载,并覆盖掉3rdparty/lib 中同名的文件,然后右键各个工程-仅用于项目-仅链接 即可,无需重新生成。

2015/08/08 有很多人报告(包括我自己)cuDNN v3 的速度比v2慢很多,因此master分支被我回滚回v2版本了,所幸cuDNN向下兼容,所以无需再次下载第三方库。

2015/08/06 新版caffe-windows上线了,由于vs2012编译速度太慢,从这个版本开始,不再对vs2012提供支持。

2015/07/07 现在caffe也支持VS2013了,第三方库全部更新至最新版本。请从下载并替换掉原有的build文件夹,其他步骤与先前版本一致。如果发现bug,烦请反馈给我,留言或在github上提issue均可。

2015/06/07 添加Insanity Layer(即randomized leaky rectified linear units),我也不知道为什么叫Insanity。。论文上说效果比PReLU还好些。

2015/06/05 将Caffe版本更新至6月5日的master分支,与上一版最大的不同在于matlab接口更加丰富,cudnn更新至v2版,所以要重新下载第三方库。

2015/06/05 Batch Normalization更新至新版,现在的默认mnist测试文件即为使用了Batch Normalization层的版本。

2015/05/29 发现上个版本的lmdb.lib使用了别人在vs2013下编译的版本,现改为vs2012版;

2015/05/29 添加了提取任意层特征的matlab接口,使用方法:

OUTPUT = caffe('get_features', INPUT, 'layername1,layername2...');11

例如:f = caffe('get_features', H, 'conv51,pool5'); 返回的f为2*1的cell类型,里面记录了层的名称和该层的特征。

现在有了更好的方法来获得每层特征,该函数不再更新。请参见新版matlab接口。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。