python版的leveldb的簡單介紹

本文目錄一覽:

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:\Python26\ArcGIS10.0\Scripts

驗證是否安裝成功,運行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介面。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/231764.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 01:07
下一篇 2024-12-11 01:07

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論