導航:首頁 > 編程語言 > githubpythonapi

githubpythonapi

發布時間:2023-06-09 16:36:22

『壹』 13個最常用的python深度學習庫介紹

13個最常用的Python深度學習庫介紹
如果你對深度學習和卷積神經網路感興趣,但是並不知道從哪裡開始,也不知道使用哪種庫,那麼這里就為你提供了許多幫助。
在這篇文章里,我詳細解讀了9個我最喜歡的Python深度學習庫。
這個名單並不詳盡,它只是我在計算機視覺的職業生涯中使用並在某個時間段發現特別有用的一個庫的列表。
這其中的一些庫我比別人用的多很多,尤其是Keras、mxnet和sklearn-theano。
其他的一些我是間接的使用,比如Theano和TensorFlow(庫包括Keras、deepy和Blocks等)。
另外的我只是在一些特別的任務中用過(比如nolearn和他們的Deep Belief Network implementation)。
這篇文章的目的是向你介紹這些庫。我建議你認真了解這里的每一個庫,然後在某個具體工作情境中你就可以確定一個最適用的庫。
我想再次重申,這份名單並不詳盡。此外,由於我是計算機視覺研究人員並長期活躍在這個領域,對卷積神經網路(細胞神經網路)方面的庫會關注更多。
我把這個深度學習庫的列表分為三個部分。
第一部分是比較流行的庫,你可能已經很熟悉了。對於這些庫,我提供了一個通俗的、高層次的概述。然後,針對每個庫我詳細解說了我的喜歡之處和不喜歡之處,並列舉了一些適當的應用案例。
第二部分進入到我個人最喜歡的深度學習庫,也是我日常工作中使用最多的,包括:Keras、mxnet和sklearn-theano等。
最後,我對第一部分中不經常使用的庫做了一個「福利」板塊,你或許還會從中發現有用的或者是在第二板塊中我還沒有嘗試過但看起來很有趣的庫。
接下來就讓我們繼續探索。
針對初學者:
Caffe
提到「深度學習庫」就不可能不說到Caffe。事實上,自從你打開這個頁面學習深度學習庫,我就敢打保票你肯定聽說Caffe。
那麼,究竟Caffe是什麼呢?
Caffe是由Berkeley Vision and Learning Center(BVLC)建立的深度學習框架。它是模塊化的,速度極快。而且被應用於學術界和產業界的start-of-the-art應用程序中。
事實上,如果你去翻閱最新的深度學習出版物(也提供源代碼),你就很可能會在它們相關的GitHub庫中找到Caffe模型。
雖然Caffe本身並不是一個Python庫,但它提供綁定到Python上的編程語言。我們通常在新領域開拓網路的時候使用這些綁定。
我把Caffe放在這個列表的原因是它幾乎被應用在各個方面。你可以在一個空白文檔里定義你的模型架構和解決方案,建立一個JSON文件類型的.prototxt配置文件。Caffe二進制文件提取這些.prototxt文件並培訓你的網路。Caffe完成培訓之後,你可以把你的網路和經過分類的新圖像通過Caffe二進制文件,更好的就直接通過Python或MATLAB的API。
雖然我很喜歡Caffe的性能(它每天可以在K40 GPU上處理60萬張圖片),但相比之下我更喜歡Keras和mxnet。
主要的原因是,在.prototxt文件內部構建架構可能會變得相當乏味和無聊。更重要的是, Caffe不能用編程方式調整超參數!由於這兩個原因,在基於Python的API中我傾向於對允許我實現終端到終端聯播網的庫傾斜(包括交叉驗證和調整超參數)。
Theano
在最開始我想說Theano是美麗的。如果沒有Theano,我們根本不會達到現有的深度學習庫的數量(特別是在Python)。同樣的,如果沒有numpy,我們就不會有SciPy、scikit-learn和 scikit-image,,同樣可以說是關於Theano和深度學習更高級別的抽象。
非常核心的是,Theano是一個Python庫,用來定義、優化和評估涉及多維數組的數學表達式。 Theano通過與numpy的緊密集成,透明地使用GPU來完成這些工作。
雖然可以利用Theano建立深度學習網路,但我傾向於認為Theano是神經網路的基石,同樣的numpy是作為科學計算的基石。事實上,大多數我在文章中提到的庫都是圍繞著Theano,使自己變得更加便利。
不要誤會我的意思,我愛Theano,我只是不喜歡用Theano編寫代碼。
在Theano建設卷積神經網路就像只用本機Python中的numpy寫一個定製的支持向量機(SVM),當然這個對比並不是很完美。
你可以做到嗎?
當然可以。
它值得花費您的時間和精力嗎?
嗯,也許吧。這取決於你是否想擺脫低級別或你的應用是否需要。
就個人而言,我寧願使用像Keras這樣的庫,它把Theano包裝成更有人性化的API,同樣的方式,scikit-learn使機器學習演算法工作變得更加容易。
TensorFlow
與Theano類似,TensorFlow是使用數據流圖進行數值計算的開源庫(這是所有神經網路固有的特徵)。最初由谷歌的機器智能研究機構內的Google Brain Team研究人員開發,此後庫一直開源,並提供給公眾。
相比於Theano ,TensorFlow的主要優點是分布式計算,特別是在多GPU的環境中(雖然這是Theano正在攻克的項目)。
除了用TensorFlow而不是Theano替換Keras後端,對於TensorFlow庫我並沒有太多的經驗。然而在接下來的幾個月里,我希望這有所改變。
Lasagne
Lasagne是Theano中用於構建和訓練網路的輕量級庫。這里的關鍵詞是輕量級的,也就意味著它不是一個像Keras一樣圍繞著Theano的重包裝的庫。雖然這會導致你的代碼更加繁瑣,但它會把你從各種限制中解脫出來,同時還可以讓您根據Theano進行模塊化的構建。
簡而言之:Lasagne的功能是Theano的低級編程和Keras的高級抽象之間的一個折中。
我最喜歡的:
Keras
如果我必須選出一個最喜歡的深度學習Python庫,我將很難在Keras和mxnet中做出抉擇——但最後,我想我會選Keras。
說真的,Keras的好處我說都說不完。
Keras是一個最低限度的、模塊化的神經網路庫,可以使用Theano或TensorFlow作為後端。Keras最主要的用戶體驗是,從構思到產生結果將會是一個非常迅速的過程。
在Keras中架構網路設計是十分輕松自然的。它包括一些state-of-the-art中針對優化(Adam,RMSProp)、標准化(BatchNorm)和激活層(PReLU,ELU,LeakyReLU)最新的演算法。
Keras也非常注重卷積神經網路,這也是我十分需要的。無論它是有意還是無意的,我覺得從計算機視覺的角度來看這是非常有價值的。
更重要的是,你既可以輕松地構建基於序列的網路(其中輸入線性流經網路)又可以創建基於圖形的網路(輸入可以「跳過」某些層直接和後面對接)。這使得創建像GoogLeNet和SqueezeNet這樣復雜的網路結構變得容易得多。
我認為Keras唯一的問題是它不支持多GPU環境中並行地訓練網路。這可能會也可能不會成為你的大忌。
如果我想盡快地訓練網路,那麼我可能會使用mxnet。但是如果我需要調整超參數,我就會用Keras設置四個獨立的實驗(分別在我的Titan X GPUs上運行)並評估結果。
mxnet
我第二喜歡的深度學習Python庫無疑就是mxnet(重點也是訓練圖像分類網路)。雖然在mxnet中站立一個網路可能需要較多的代碼,但它會提供給你驚人數量的語言綁定(C ++、Python、R、JavaScript等)。
Mxnet庫真正出色的是分布式計算,它支持在多個CPU / GPU機訓練你的網路,甚至可以在AWS、Azure以及YARN集群。
它確實需要更多的代碼來設立一個實驗並在mxnet上運行(與Keras相比),但如果你需要跨多個GPU或系統分配訓練,我推薦mxnet。
sklearn-theano
有時候你並不需要終端到終端的培養一個卷積神經網路。相反,你需要把CNN看作一個特徵提取器。當你沒有足夠的數據來從頭培養一個完整的CNN時它就會變得特別有用。僅僅需要把你的輸入圖像放入流行的預先訓練架構,如OverFeat、AlexNet、VGGNet或GoogLeNet,然後從FC層提取特徵(或任何您要使用的層)。
總之,這就是sklearn-theano的功能所在。你不能用它從頭到尾的訓練一個模型,但它的神奇之處就是可以把網路作為特徵提取器。當需要評估一個特定的問題是否適合使用深度學習來解決時,我傾向於使用這個庫作為我的第一手判斷。
nolearn
我在PyImageSearch博客上用過幾次nolearn,主要是在我的MacBook Pro上進行一些初步的GPU實驗和在Amazon EC2 GPU實例中進行深度學習。
Keras把 Theano和TensorFlow包裝成了更具人性化的API,而nolearn也為Lasagne做了相同的事。此外,nolearn中所有的代碼都是與scikit-learn兼容的,這對我來說絕對是個超級的福利。
我個人不使用nolearn做卷積神經網路(CNNs),但你當然也可以用(我更喜歡用Keras和mxnet來做CNNs)。我主要用nolearn來製作Deep Belief Networks (DBNs)。
DIGITS
DIGITS並不是一個真正的深度學習庫(雖然它是用Python寫的)。DIGITS(深度學習GPU培訓系統)實際上是用於培訓Caffe深度學習模式的web應用程序(雖然我認為你可以破解源代碼然後使用Caffe以外其他的後端進行工作,但這聽起來就像一場噩夢)。
如果你曾經用過Caffe,那麼你就會知道通過它的終端來定義.prototxt文件、生成圖像數據、運行網路並監管你的網路訓練是相當繁瑣的。 DIGITS旨在通過讓你在瀏覽器中執行這些任務來解決這個問題。
此外,DIGITS的用戶界面非常出色,它可以為你提供有價值的統計數據和圖表作為你的模型訓練。另外,你可以通過各種輸入輕松地可視化網路中的激活層。最後,如果您想測試一個特定的圖像,您可以把圖片上傳到你的DIGITS伺服器或進入圖片的URL,然後你的Caffe模型將會自動分類圖像並把結果顯示在瀏覽器中。干凈利落!
Blocks
說實話,雖然我一直想嘗試,但截至目前我的確從來沒用過Blocks(這也是我把它包括在這個列表裡的原因)。就像許多個在這個列表中的其他庫一樣,Blocks建立在Theano之上,呈現出一個用戶友好型的API。
deepy
如果讓你猜deepy是圍繞哪個庫建立的,你會猜什麼?
沒錯,就是Theano。
我記得在前一段時間用過deepy(做了初始提交),但在接下里的大概6-8個月我都沒有碰它了。我打算在接下來的博客文章里再嘗試一下。
pylearn2
雖然我從沒有主動地使用pylearn2,但由於歷史原因,我覺得很有必要把它包括在這個列表裡。 Pylearn2不僅僅是一般的機器學習庫(地位類似於scikit-learn),也包含了深度學習演算法的實現。
對於pylearn2我最大的擔憂就是(在撰寫本文時),它沒有一個活躍的開發者。正因為如此,相比於像Keras和mxnet這樣的有積極維護的庫,推薦pylearn2我還有些猶豫。
Deeplearning4j
這本應是一個基於Python的列表,但我想我會把Deeplearning4j包括在這里,主要是出於對他們所做事跡的無比崇敬——Deeplearning4j為JVM建立了一個開源的、分布式的深度學習庫。
如果您在企業工作,你可能會有一個塞滿了用過的Hadoop和MapRece伺服器的儲存器。也許這些你還在用,也許早就不用了。
你怎樣才能把這些相同的伺服器應用到深度學習里?
事實證明是可以的——你只需要Deeplearning4j。
總計
以上就是本文關於13個最常用的Python深度學習庫介紹的全部內容

『貳』 python 怎麼提供api介面

python有個etcd的庫,可以網上搜下看下這個庫的使用以及它開發的api介面,
不過之前go使用etcd的時候,是調用etcd本身的rest api,沒有使用第三方的etcd的庫
etcd的api文檔github上有的,搜下這個coreos/etcd
你可以選擇自己喜歡的方式

『叄』 如何通過python調用新浪微博的API

1.下載SDK

使用python調用API的話,首先要去下一個Python的SDK,sinaweibopy

連接地址在此: http://michaelliao.github.com/sinaweibopy/

可以使用pip很快的導入,github連接里的wiki也有入門的使用方法,很容易看懂。

2.理解新浪微博的授權機制

在調用API之前,首先要搞懂什麼叫OAuth 2,即新浪微博的授權機制,

連接在此: http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E

3.在新浪微博注冊應用

每個人都可以通過新浪微博開發者平台注冊自己的應用,我注冊的是站內應用。注冊後會為每個應用分配唯一的app key 和 app secret,這在上文提到的授權機制中需要用到,相當與每個應用的標示吧。

至此,我們可以嘗試寫代碼調用新浪微博的API啦。

4.簡單的調用API實例

參考了往上很多資料和文檔,寫了一個簡單的調用過程。

# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = 」
APP_SECRET = 」
CALLBACK_URL = 」
#這個是設置回調地址,必須與那個」高級信息「里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 獲取URL參數code:
code = 『『
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,類似abc123xyz456
expires_in = r.expires_in # token過期的UNIX時間:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)

print client.friendships.friends.bilateral.ids.get(uid = 12345678)

通過以上的代碼,我實現了調用相互關注API的調用,即查找與某個id的用戶相互關注的人的列表。

其中,APP_KEY和APP_SECRET就是前文中分配給每個應用的信息,回調地址在每個應用的高級信息中可以看到,需要自己設置,不過隨便設置一下就好

比較惡心的是code的獲取,我一開始看sinaweibopy的文檔的時候也沒弄懂是什麼意思,如上面的代碼所示,url得到的是一個授權的網址,我們通過

webbrowser.open_new(url)
這行代碼打開瀏覽器跳轉到授權的界面,然後觀察所在界面的網址,會顯示大概如下一樣的格式:

http://apps.weibo.com/sayarywei?code=

看到了嗎?
問號後面有一個code=……的一個東西,把等號後面的字元串拷貝下來賦給code就可以了,但是每次運行程序是code不是一成不變的,也就是說每次都
要有這么一個手動獲取的過程,我覺得很麻煩,以後自己再研究一下,實現自動獲取code就好了。如果能有哪位大神告訴我,感激不盡~

好了,得到正確的code之後就可以完成授權認證,也就可以調用微博的API啦,至於如何在Python下調用,我拷貝一下sinaweibopy上的介紹:

首先查看新浪微博API文檔,例如:

API:statuses/user_timeline

請求格式:GET

請求參數:

source:string,採用OAuth授權方式不需要此參數,其他授權方式為必填參數,數值為應用的AppKey?。

access_token:string,採用OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權後獲得。

uid:int64,需要查詢的用戶ID。

screen_name:string,需要查詢的用戶昵稱。

(其它可選參數略)

調用方法:將API的「/」變為「.」,根據請求格式是GET或POST,調用get ()或post()並傳入關鍵字參數,但不包括source和access_token參數:

r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text

若為POST調用,則示例代碼如下:

r = client.statuses.update.post(status=u'測試OAuth 2.0發微博')

若需要上傳文件,傳入file-like object參數,示例代碼如下:

f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'測試OAuth 2.0帶圖片發微博', pic=f)
f.close() # APIClient不會自動關閉文件,需要手動關閉

請注意:上傳的文件必須是file-like object,不能是str,因為無法區分一個str是文件還是欄位。可以通過StringIO把一個str包裝成file-like object。

『肆』 如何用python開發移動App後台需要掌握哪些技術

1、如果使用python語言,需要學習哪些知識?
python作為一門簡單明了的語言,非常容易上手,語言層面不會太復雜,稍微有點難度的頂多就是裝飾器、元類和少量函數式編程內容。要說學習的話,我覺得更多是一些編程方面通用的東西,比如:數據結構和演算法、設計模式、操作系統、計算機網路之類的

2、選擇什麼樣的python框架開發,這個框架的優勢?
tornado,因為非阻塞io的原因,性能非常高,特別適合寫後端API(App的後端應該都是rest風格的api),而且成熟穩定

3、如何部署伺服器?本地伺服器調試,以及公網伺服器部署?
這個一兩句說不清楚,涉及到運維、測試、開發諸多方面, 部署和測試推薦幾個包:fabric、nose、unittest(python自帶),版本管理推薦git,持續集成推薦使用docker+jenkins

4、如果使用python框架開發移動後台服務,在開發源碼內使用哪種框架?mvc還是其它的,比如我返回json數據,每次json對象最外層有一些相同的東西,該如何處理?
MVC什麼的,一般的框架都差不多的,tornado也是支持的,返回json有相同的東西,寫個修飾器就完了

5、python的後台服務最大能支持多大的pv量會嚴重影響用戶體驗性能?
youtube、reddit、豆瓣、知乎這樣的大流量網站都是python寫的,覺得你的App的規模不太可能遇到性能問題,即使有也應該不是python的問題,而是任何語言都會有問題。畢竟web後端不是計算密集型,而是io密集型的,python和其他語言的區別不會太大吧,大量的pv是可以靠堆伺服器堆出來的,如果是計算量比較大的任務,你可以考慮用c或c++寫

6、如何兼顧 網頁前端以及移動端 開發的後台?
用python寫的API,網頁和移動端都是可以調用啊,讓前端學學React,就可以輕松解決前後端分離這個問題(PS: facebook 就是後端php + 前端React,淘寶也有在用nodejs做前後端分離)

7、有沒用相關的案例,即用python開發的移動後台?有沒有該問題的開源項目?
這個應該比較少,App後端開源的不常見,而且大部分是rest風格的api,很多時候會涉及到自身的業務和敏感信息應該不會開源的吧(又不是bbs或者博客程序)

『伍』 api介面和python庫的區別是什麼

API
介面屬於一種操作系統或程序介面,而後兩者都屬於直接用戶介面。
有時公司會將
API
作為其公共開放系統。也就是說,公司制定自己的系統介面標准,當需要執行系統整合、自定義和程序應用等操作時,公司所有成員都可以通過該介面標准調用源代碼,該介面標准被稱之為開放式
API。

『陸』 從github下載到本地的代碼該如何運行,代碼包含多個文件夾,每個文件夾中有多個python文件

uspto-opendata-python是用於訪問USPTO開放數據API的客戶端庫,需要使用pip install uspto-opendata-python來進行安裝,這樣在python中就可以調用這個庫了。

『柒』 誰用過python中的第三方庫face recognition

簡介
該庫可以通過python或者命令行即可實現人臉識別的功能。使用dlib深度學習人臉識別技術構建,在戶外臉部檢測資料庫基準(Labeled Faces in the Wild)上的准確率為99.38%。
在github上有相關的鏈接和API文檔。

在下方為提供的一些相關源碼或是文檔。當前庫的版本是v0.2.0,點擊docs可以查看API文檔,我們可以查看一些函數相關的說明等。

安裝配置
安裝配置很簡單,按照github上的說明一步一步來就可以了。
根據你的python版本輸入指令:
pip install face_recognition11

或者
pip3 install face_recognition11

正常來說,安裝過程中會出錯,會在安裝dlib時出錯,可能報錯也可能會卡在那不動。因為pip在編譯dlib時會出錯,所以我們需要手動編譯dlib再進行安裝。

按照它給出的解決辦法:
1、先下載下來dlib的源碼。
git clone

2、編譯dlib。
cd dlib
mkdir build
cd build
cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1
cmake --build1234512345

3、編譯並安裝python的拓展包。
cd ..
python3 setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA1212

注意:這個安裝步驟是默認認為沒有GPU的,所以不支持cuda。
在自己手動編譯了dlib後,我們可以在python中import dlib了。
之後再重新安裝,就可以配置成功了。
根據你的python版本輸入指令:
pip install face_recognition11

或者
pip3 install face_recognition11

安裝成功之後,我們可以在python中正常import face_recognition了。

編寫人臉識別程序
編寫py文件:
# -*- coding: utf-8 -*-
#

# 檢測人臉
import face_recognition
import cv2

# 讀取圖片並識別人臉
img = face_recognition.load_image_file("silicon_valley.jpg")
face_locations = face_recognition.face_locations(img)
print face_locations

# 調用opencv函數顯示圖片
img = cv2.imread("silicon_valley.jpg")
cv2.namedWindow("原圖")
cv2.imshow("原圖", img)

# 遍歷每個人臉,並標注
faceNum = len(face_locations)
for i in range(0, faceNum):
top = face_locations[i][0]
right = face_locations[i][1]
bottom = face_locations[i][2]
left = face_locations[i][3]

start = (left, top)
end = (right, bottom)

color = (55,255,155)
thickness = 3
cv2.rectangle(img, start, end, color, thickness)

# 顯示識別結果
cv2.namedWindow("識別")
cv2.imshow("識別", img)

cv2.waitKey(0)
cv2.destroyAllWindows()

注意:這里使用了python-OpenCV,一定要配置好了opencv才能運行成功。
運行結果:
程序會讀取當前目錄下指定的圖片,然後識別其中的人臉,並標注每個人臉。
(使用圖片來自美劇矽谷)

編寫人臉比對程序
首先,我在目錄下放了幾張圖片:

這里用到的是一張喬布斯的照片和一張奧巴馬的照片,和一張未知的照片。
編寫程序:
# 識別圖片中的人臉
import face_recognition
jobs_image = face_recognition.load_image_file("jobs.jpg");
obama_image = face_recognition.load_image_file("obama.jpg");
unknown_image = face_recognition.load_image_file("unknown.jpg");

jobs_encoding = face_recognition.face_encodings(jobs_image)[0]
obama_encoding = face_recognition.face_encodings(obama_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]

results = face_recognition.compare_faces([jobs_encoding, obama_encoding], unknown_encoding )
labels = ['jobs', 'obama']

print('results:'+str(results))

for i in range(0, len(results)):
if results[i] == True:
print('The person is:'+labels[i])

運行結果:

識別出未知的那張照片是喬布斯的。
攝像頭實時識別
代碼:
# -*- coding: utf-8 -*-
import face_recognition
import cv2

video_capture = cv2.VideoCapture(1)

obama_img = face_recognition.load_image_file("obama.jpg")
obama_face_encoding = face_recognition.face_encodings(obama_img)[0]

face_locations = []
face_encodings = []
face_names = []
process_this_frame = True

while True:
ret, frame = video_capture.read()

small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)

if process_this_frame:
face_locations = face_recognition.face_locations(small_frame)
face_encodings = face_recognition.face_encodings(small_frame, face_locations)

face_names = []
for face_encoding in face_encodings:
match = face_recognition.compare_faces([obama_face_encoding], face_encoding)

if match[0]:
name = "Barack"
else:
name = "unknown"

face_names.append(name)

process_this_frame = not process_this_frame

for (top, right, bottom, left), name in zip(face_locations, face_names):
top *= 4
right *= 4
bottom *= 4
left *= 4

cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)

cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), 2)
font = cv2.FONT_HERSHEY_DUPLEX
cv2.putText(frame, name, (left+6, bottom-6), font, 1.0, (255, 255, 255), 1)

cv2.imshow('Video', frame)

if cv2.waitKey(1) & 0xFF == ord('q'):
break

video_capture.release()
cv2.destroyAllWindows()5455

識別結果:
我直接在手機上網路了幾張圖試試,程序識別出了奧巴馬。

這個庫很cool啊!

『捌』 去哪裡找python的開源項目

GitHub是一個面向開源及私有軟體項目的託管平台,因為只支持git 作為唯一的版本庫格式進行託管,故名GitHub。作為開源代碼庫以及版本控制系統,Github擁有超過900萬開發者用戶。隨著越來越多的應用程序轉移到了雲上,Github已經成為了管理軟體開發以及發現已有代碼的首選方法。在GitHub,用戶可以十分輕易地找到海量的開源代碼。

下面給大家介紹一些GitHub上25個開源項目:

(1)TensorFlow Models

如果你對機器學習和深度學習感興趣,一定聽說過TensorFlow。TensorFlow Models是一個開源存儲庫,可以找到許多與深度學習相關的庫和模型。

(GitHub: https://github.com/tensorflow/models )

(2)Keras

Keras是一個高級神經網路API,用Python編寫,能夠在TensorFlow,CNTK或Theano之上運行。旨在完成深度學習的快速開發(GitHub: https://github.com/keras-team/keras )

(3)Flask

Flask 是一個微型的 Python 開發的 Web 框架,基於Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授權。

(GitHub: https://github.com/pallets/flask )

(4)scikit-learn

scikit-learn是一個用於機器學習的Python模塊,基於 NumPy、SciPy 和 matplotlib 構建。,並遵循 BSD 許可協議。

(GitHub: https://github.com/scikit-learn )

(5)Zulip

Zulip是一款功能強大的開源群聊應用程序,它結合了實時聊天的即時性和線程對話的生產力優勢。Zulip作為一個開源項目,被許多世界500強企業,大型組織以及其他需要實時聊天系統的用戶選擇使用,該系統允許用戶每天輕松處理數百或數千條消息。Zulip擁有超過300名貢獻者,每月合並超過500次提交,也是規模最大,發展最快的開源群聊項目。

(GitHub: https://github.com/zulip/zulip )

相關推薦:《Python入門教程》

(6)Django

Django 是 Python 編程語言驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 應用程序框架,旨在快速開發出清晰,實用的設計。使用 Django,我們在幾分鍾之內就可以創建高品質、易維護、資料庫驅動的應用程序。

(GitHub: https://github.com/django/django )

(7)Rebound

Rebound 是一個當你得到編譯錯誤時即時獲取 Stack Overflow 結果的命令行工具。 就用 rebound 命令執行你的文件。這對程序員來說方便了不少。

(GitHub: https://github.com/shobrook/rebound )

(8)Google Images Download

這是一個命令行python程序,用於搜索Google Images上的關鍵字/關鍵短語,並可選擇將圖像下載到您的計算機。你也可以從另一個python文件調用此腳本。

(GitHub: https://github.com/hardikvasa/google-images-download )

(9)YouTube-dl

youtube-dl 是基於 Python 的命令行媒體文件下載工具,完全開源免費跨平台。用戶只需使用簡單命令並提供在線視頻的網頁地址即可讓程序自動進行嗅探、下載、合並、命名和清理,最終得到已經命名的完整視頻文件。

(GitHub: htt ps://github.com/rg3/youtube-dl )

(10)System Design Primer

此repo是一個系統的資源集合,可幫助你了解如何大規模構建系統。

(GitHub: https://github.com/donnemartin/system-design-primer )

(11)Mask R-CNN

Mask R-CNN用於對象檢測和分割。這是對Python 3,Keras和TensorFlow的Mask R-CNN實現。該模型為圖像中對象的每個實例生成邊界框和分割蒙版。它基於特Feature Pyramid Network(FPN)和 ResNet101 backbone。

(GitHub: https://github.com/matterport/Mask_RCNN )

(12)Face Recognition

Face Recognition 是一個基於 Python 的人臉識別庫,使用十分簡便。這還提供了一個簡單的face_recognition命令行工具,可以讓您從命令行對圖像文件夾進行人臉識別!

(GitHub: https://github.com/ageitgey/face_recognition )

(13)snallygaster

用於掃描HTTP伺服器上的機密文件的工具。

(GitHub: https://github.com/hannob/snallygaster )

(14)Ansible

Ansible是一個極其簡單的IT自動化系統。它可用於配置管理,應用程序部署,雲配置,支持遠程任務執行和多節點發布 - 包括通過負載平衡器輕松實現零停機滾動更新等操作。

(GitHub: https://github.com/ansible/ansible )

(15)Detectron

Detectron是Facebook AI 研究院開源的的軟體系統,它實現了最先進的目標檢測演算法,包括Mask R-CNN。它是用Python編寫的,由Caffe2深度學習框架提供支持。

(16)asciinema

終端會話記錄器和asciinema.org的最佳搭檔。

(GitHub: https://github.com/asciinema/asciinema )

(17)HTTPie

HTTPie 是一個開源的命令行的 HTTP 工具包,其目標是使與Web服務的CLI交互盡可能人性化。它提供了一個簡單的http命令,允許使用簡單自然的語法發送任意HTTP請求,並顯示彩色輸出。HTTPie可用於測試,調試以及通常與HTTP伺服器交互。

(GitHub: https://github.com/jakubroztocil/httpie )

(18)You-Get

You-Get是一個小型命令行實用程序,用於從Web下載媒體內容(視頻,音頻,圖像),支持國內外常用的視頻網站。

(GitHub: https://github.com/soimort/you-get )

(19)Sentry

Sentry從根本上講是一項服務,可以幫助用戶實時監控和修復崩潰。基於Django構建,它包含一個完整的API,用於從任何語言、任何應用程序中發送事件。

(GitHub: https://github.com/getsentry/sentry )

(20)Tornado

Tornado是使用Python開發的全棧式(full-stack)Web框架和非同步網路庫,,最初是由FriendFeed上開發的。通過使用非阻塞網路I / O,Tornado可以擴展到數萬個開放連接,是long polling、WebSockets和其他需要為用戶維護長連接應用的理想選擇。

(GitHub: https://github.com/tornadoweb/tornado )

(21)Magenta

Magenta是一個探索機器學習在創造藝術和音樂過程中的作用的研究項目。這主要涉及開發新的深度學習和強化學習演算法,用於生成歌曲,圖像,繪圖等。但它也是構建智能工具和界面的探索,它允許藝術家和音樂家使用這些模型。

(GitHub: https://github.com/tensorflow/magenta )

(22)ZeroNet

ZeroNet是一個利用比特幣的加密演算法和BitTorrent技術提供的不受審查的網路,完全開源。

(GitHub: https://github.com/HelloZeroNet/ZeroNet )

(23)Gym

OpenAI Gym是一個用於開發和比較強化學習演算法的工具包。這是Gym的開源庫,可讓讓你訪問標准化的環境。

(GitHub: https://github.com/openai/gym )

(24)Pandas

Pandas是一個Python包,提供快速,靈活和富有表現力的數據結構,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。此外,它還有更廣泛的目標,即成為所有語言中最強大,最靈活的開源數據分析/操作工具。它目前已經朝著這個目標邁進。

(GitHub: https://github.com/pandas-dev/pandas )

(25)Luigi

Luigi 是一個 Python 模塊,可以幫你構建復雜的批量作業管道。處理依賴決議、工作流管理、可視化展示等等,內建 Hadoop 支持。(GitHub: https://github.com/spotify/luigi )

閱讀全文

與githubpythonapi相關的資料

熱點內容
id加密門禁卡可以復制到手機嗎 瀏覽:672
路由器如何控制某個app 瀏覽:43
C51編譯器在標准C的基礎上 瀏覽:260
銀行卡掉了可以辦車貸解壓嗎 瀏覽:317
沒解壓可以貸款嗎 瀏覽:517
最小pdf閱讀器 瀏覽:808
游戲被加密了怎樣用電腦打開 瀏覽:300
藍燈如何手動選擇伺服器 瀏覽:85
伺服器設置在中國意味什麼 瀏覽:571
單片機不能進行選擇控制 瀏覽:694
咕咚手錶如何綁定手機app 瀏覽:530
命令虛擬語氣 瀏覽:405
戴爾系統命令 瀏覽:583
怎樣壓縮視頻文件大小 瀏覽:686
51單片機信號發生器 瀏覽:56
米拍攝影哪個app好 瀏覽:88
天津致遠曙光伺服器雲伺服器 瀏覽:117
光子程序員怎麼獲得 瀏覽:535
中醫診斷學第九版pdf 瀏覽:498
python集成包 瀏覽:305