年度盤點,30個開創性的Python開源項目-你都用過哪些?

2020-01-28     機器學習與數據分析

前言

Python正在蓬勃發展,它的Github頁面也是如此。今年對於Python來說是非常好的一年,我們看到了一些非常強大的Python開源項目。今天,我們列出了一些頂尖的python開源項目;試著至少為其中之一做些貢獻,這將有助於提高您的Python技能。下面是30個Python開源項目的細節,讓我們開始吧

1.Flask

這是一個用Python編寫的微web框架。它沒有表單驗證和資料庫抽象層,但是它允許您使用第三方庫來實現公共功能。這就是為什麼它是一個微框架。Flask的設計使創建應用程式容易和快速,可擴展和輕量級。它基於Werkzeug和Jinja2項目。

2.Keras

Keras是一個開源的用Python編寫的神經網絡庫。它是用戶友好的、模塊化的和可擴展的,可以運行在TensorFlow、Theano、PlaidML或Microsoft Cognitive Toolkit (CNTK)之上。Keras擁有所有層、目標、激活函數、優化器等等。它還支持卷積和遞歸神經網絡。

3.spaCy

這是一個處理自然語言處理的開源軟體庫,使用Python和Cython編寫。NLTK主要用於教學和研究目的,spaCy的工作是為生產提供軟體。此外,Thinc是spaCy的機器學習庫,提供CNN模型,用於詞性標記、依賴項解析和命名實體識別

4.Sentry

它提供託管的錯誤監控,這也是開源的,所以你可以實時發現和分類錯誤。只需安裝語言或框架的SDK就可以開始了。它允許您捕獲未處理的異常、檢查堆棧跟蹤、分析每個問題的影響、跨不同項目跟蹤錯誤、分配問題等等。使用Sentry意味著更少的bug和更多的代碼。

5.OpenCV

OpenCV是一個開源的計算機視覺和機器學習庫。它有超過2500個優化算法,用於計算機視覺任務,如檢測和識別對象,分類不同的人類活動,跟蹤運動與相機,產生三維模型的對象,拼接圖像,以獲得高解析度的圖像和更多的任務。該庫可用於Python、c++、Java等多種語言。

6.Nilearn

這是一個快速而簡單地實現神經影像數據統計學習的模塊。它利用scikit-learn進行多變量統計,用於預測建模、分類、解碼和連接性分析。Nilearn是NiPy生態系統的一部分,這是一個致力於使用Python分析神經成像數據的社區。

7.scikit-learn

Scikit-learn是另一個python開源項目。這是一個非常著名的Python機器學習庫。scikit-learn通常與NumPy和SciPy一起使用,它提供分類、回歸和聚類——它支持SVM(支持向量機)、隨機森林、梯度增強、k-means和DBSCAN。為了提高性能,這個庫是用Python和Cython編寫的。

8.PyTorch

PyTorch是另一個用Python編寫的開源機器學習庫。它基於Torch庫,非常適合計算機視覺和自然語言處理(NLP)等領域。它還有一個c++前端。在許多其他特性中,PyTorch提供了兩個高級特性:使用GPU進行強加速張量計算深層神經網絡.

9. Librosa

Librosa是用於音樂和音頻分析的最佳python庫之一。它提供了必要的積木,用來檢索信息的音樂。這個庫有很好的文檔,並且有一些教程和示例,使您的任務更容易。

10.Gensim

Gensim是一個用於使用大型語料庫進行主題建模、文檔索引和相似性檢索的Python庫。它的目標是NLP和信息檢索社區。Gensim是generate similar的縮寫。在前面,這將生成與給定文章類似的文章短列表。Gensim清晰、高效、可擴展。這實現了從純文本到無監督語義建模的高效和無麻煩的實現。

11.Django

Django是一個高級Python框架,它鼓勵快速開發,並相信DRY原則(不要重複自己)。它是一個非常強大的框架,也是Python中使用最廣泛的web框架。它遵循MTV模式(模型-模板-視圖)。

12.Face Recognition

人臉識別是GitHub上一個很受歡迎的項目,它可以使用Python/命令行輕鬆地識別和操作人臉,並使用世界上最簡單的人臉識別庫。它使用帶深度學習的dlib來檢測人臉,對野生基準中標記的人臉的準確率達到99.38%。

13.Cookiecutter

Cookiecutter是一個命令行實用工具,我們可以使用它從模板(cookiecutters)創建項目。這方面的一個例子是,從一個包項目模板創建一個包項目。這是跨平台的,項目模板可以是任何語言或標記格式,如Python、JavaScript、HTML、Ruby、CoffeeScript、RST和Markdown。它還允許您在同一個項目模板中使用多種語言。

14.pandas

panda是一個用於Python的數據分析和操作庫,提供標記數據結構和統計函數。

15.Pipenv

Pipenv承諾將成為一個可用於生產的工具,旨在將所有最好的打包環境引入Python世界。它的終端顏色很漂亮,它將Pipfile、pip和virtualenv整合到一個命令中。它為您的項目自動創建和管理一個virtualenv,並為用戶提供一種設置工作環境的簡單方法。

16.SimpleCoin

這是用Python為加密貨幣實現的區塊鏈,但是簡單、不安全且不完整。SimpleCoin不是用於生產,而是用於教育目的,只是為了使區塊鏈貨幣工作,並保持簡單。它允許您保存已開採的散列並以任何受支持的貨幣進行交換。

17.MicroPython

微Python是微控制器的Python。它是Python3的一個高效實現,附帶了許多來自Python標準庫的包,並且經過優化可以在微控制器和受限環境中運行。pyboard是一種小型電子電路板,它在裸金屬上運行MicroPython,可以控制各種電子工程。

18.Kivy

Kivy是一個用於開發移動應用程式和其他具有自然用戶介面(NUI)的多點觸控應用程式軟體的Python庫。它有一個圖形庫、多個小部件選項、用於設計定製小部件的中間語言Kv,以及對滑鼠、鍵盤、TUIO和多點觸摸事件的輸入支持。這是一個用於快速開發具有創新ui的應用程式的開源庫。它是跨平台,業務友好,GPU加速。

19.Dash

Dash by Plotly是一個web應用程式框架。蓋在燒瓶上,很有味道。js, React, and React。它讓我們使用Python來構建儀錶板。它可以大規模地運行Python和R模型。Dash允許您構建、測試、部署和報告,而不需要DevOps、JavaScript、CSS或CronJobs。Dash是高效的、可定製的、輕量級的、可直接控制的。它也是開源的。

20.Magenta

Magenta是一個開源的研究項目,專注於機器學習作為一種工具在創造性的過程。這讓你可以用機器學習來創作音樂和藝術。它是一個由TensorFlow提供支持的Python庫,具有用於操作源數據、使用它來訓練機器學習模型以及使用這些模型來創建新內容的實用程序。

21.Mask R-CNN

這是Python 3、TensorFlow和Keras上的一個Mask R-CNN的實現。該模型獲取圖像中對象的每個實例,並為其創建邊界框和分割蒙版。它使用特徵金字塔網絡(FPN)和一個ResNet101主幹。代碼很容易擴展。該項目還提供了Matterport3D數據集,這些數據集是客戶捕獲的三維重建空間。

22.TensorFlow Models

這是一個存儲庫,在TensorFlow中實現了不同的模型——官方模型和研究模型。它還有示例和教程。官方模型使用了TensorFlow的高級api。研究模型是研究人員在TensorFlow中實現的模型,用於維護它們或在問題和拉請求上提供支持。

23.Statsmodels

這是一個用於統計計算的Python包,它補充了scipy—包括描述性統計、統計模型的估計和推斷。它有相同的類和函數。它還可以讓我們進行統計測試和統計數據的探索。

24.Chainer

Chainer是一個專注於靈活性的深度學習框架。它以Python為基礎,並提供基於按運行定義方法的區分api。Chainer還提供面向對象的高級api來構建和訓練神經網絡。它是一個強大、靈活、直觀的神經網絡框架。

25.Detectron

Detectron執行最先進的對象檢測(也實現Mask R-CNN)。它是Facebook人工智慧研究(FAIR)的軟體,用Python編寫,由Caffe 2深度學習框架提供支持。Detectron的目的是為物體探測研究提供高質量和高性能的代碼庫。它是靈活的,實現以下算法-口Mask R-CNN,RetinaNet,Faster R-CNN, RPN,Fast R-CNN, R-FCN。

26.Python-fire

這個庫用於從(任何)Python對象自動生成CLIs(命令行接口)。它還允許您開發和調試代碼,研究現有代碼或將其他人的代碼轉換為CLI。Python Fire使Bash和Python之間的轉換更容易,也使使用REPL更容易。

27.matplotlib

matplotlib是一個用於Python的2D繪圖庫——它以不同的硬拷貝格式生成具有發布質量的圖形。

28.Manim

這是一個解釋性數學視頻的動畫引擎,可用於以編程方式創建精確的動畫。它使用Python來實現這一點。

29.requests

Requests是一個允許您輕鬆發送HTTP/1.1請求的庫。您不需要手動向url或表單編碼的PUT和POST數據添加查詢字符串。

30.scrapy


scrapy是一個快速的高級web抓取和抓取框架-您可以使用它來抓取網站,以提取結構數據。您還可以將其用於數據挖掘、監視和自動化測試。

這些就是30個Python開源項目,你可以從中學習,也可以為之做出貢獻。你都接觸過哪些呢?

文章來源: https://twgreatdaily.com/A1v0728BjYh_GJGVuKuo.html