回覆列表
  • 1 # 路人甲

    一、Web框架

    Django: Python Web應用開發框架 Django 是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向,它最出名的是其全自動化的管理後臺。它鼓勵快速開發,並遵循MVC設計,開發週期短。文件完善、市場佔有率最高、招聘職位最多。

    Web.py: 輕量級Web框架,雖然簡單但是功能強大。不依賴大量的第三方模組,它沒有URL路由、沒有模板也沒有資料庫的訪問。

    Web2py:Web2py是一個為Python語言提供的全功能Web應用框架,旨在敏捷快速的開發Web應用,具有快速、安全以及可移植的資料庫驅動的應用,相容Google App Engine。

    二、科學計算

    Matplotlib: Python 的 2D繪相簿,它以各種硬複製格式和跨平臺的互動式環境生成出版質量級別的圖形。透過 Matplotlib,開發者可以僅需要幾行程式碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。

    Scipy: 基於Python的matlab實現,旨在實現matlab的所有功能。它包括統計,最佳化,整合,線性代數模組,傅立葉變換,訊號和影象處理,常微分方程求解器等等。

    Numpy: 基於Python的科學計算第三方庫,提供了許多高階的數值程式設計工具,如:傅立葉變換、矩陣資料型別、向量處理,線性代數,以及精密的運算庫。專為進行嚴格的數字處理而產生。

    科學庫:numpy,scipy;

    作圖:matplotlib;

    並行:mpi4py;

    除錯:pdb;

    三、爬蟲

    Scrapy: 螢幕抓取和web抓取框架,用於抓取Web站點並從頁面中提取結構化的資料。Scrapy用途廣泛,可以用於資料探勘、監測和自動化測試。是一個為遍歷爬行網站、分解獲取資料而設計的應用程式框架,它可以應用在廣泛領域:資料探勘、資訊處理。

    BeautifulSoup:最主要的功能就是從網頁爬取我們需要的資料。BeautifulSoup將html解析為物件進行處理,全部頁面轉變為字典或者陣列,相對於正則表示式的方式,可以大大簡化處理過程。

    四、分散式網路框架

    Twisted: 面向物件的解釋性語言。使用Python程式設計是一種樂趣,因為易於編寫、易於閱讀、易於執行。Python是跨平臺的指令碼語言,所以可以執行Twisted程式在Linux、Windows、Unix、MAC系統上。

    Dpark:DPark是Spark的Python克隆,是一個Python實現的分散式計算框架。可以非常方便地實現大規模資料處理和迭代計算。他是一個類似MapReduce 的基於Mesos(Apache 下的一個叢集管理器,提供了有效的、跨分散式應用或框架的資源隔離和共享等功能)的叢集平行計算框架。

    五、遊戲框架

    Pygame: Pygame是跨平臺Python模組,專為電子遊戲設計,包含影象、聲音。建立在SDL基礎上,允許實時電子遊戲研發而無需被低階語言(如機器語言和組合語言)束縛。

  • 2 # 自可樂

    Python 是一門功能強大且通用的計算機程式語言,在各個方面都有比較廣泛的應用,這得益於 Python 有一個非常好的生態系統以及一系列的框架和庫,下面是一些 Python 的一些應用領域常用的框架和庫:

    Web 開發方面, Django ,Tornado, flask,web2py,Pyramid 等。

    機器學習、人工智慧方向,scikit-learn,Tensorflow, pyTorch,Theano,keras,OpenAI gym 等。自然語言處理,NLTK,Gensim,PyNLPI,Jieba,TextBlob,Pattern 等。統計學,金融資料分析方向,numpy,scipy,pandas,statsmodels 等等。科學計算方向,numpy,scipy,sympy,IPythoon,h5py 等。GPU 計算方面,pyCUDA,pyopencl 等。資料視覺化方面,matplotlib,seaborn,Bokeh,Plotly 等。大資料方面,pyspark,Dask 等爬蟲、資料探勘方向,Scrapy,pyspider,scikit-learn,pandas,Beautiful Soup 等。影象處理方向,scikit-image,PIL,Pillow,CV2 等。使用者圖形介面程式設計方面,Tkinter,PyQt 等。遊戲開發,Pygame,Pyglet 等。......

  • 3 # 工號1024

    Python的簡單性吸引了許多開發人員建立用於機器學習的新庫。由於大量的庫,Python在機器學習中變得越來越流行。這裡介紹十個用於機器學習的Python庫。

    TensorFlow

    什麼是TensorFlow?

    如果你當前正在使用Python進行機器學習專案,那麼可能已經聽說過這個流行的開源庫TensorFlow。

    該庫是Google與Brain Team合作開發的。TensorFlow是幾乎所有用於機器學習的Google應用程式的一部分。

    TensorFlow就像一個計算庫一樣,用於編寫涉及大量張量運算的新演算法,因為神經網路可以輕鬆地表達為計算圖,因此可以使用TensorFlow將其作為Tensor上的一系列運算來實現。另外,張量是代表資料的N維矩陣。

    TensorFlow的功能

    TensorFlow針對速度進行了最佳化,它利用XLA之類的技術進行快速線性代數運算。

    快速響應的結構

    使用 TensorFlow,我們可以很容易地視覺化圖的每個部分,這在使用 Numpy 或 SciKit 時是做不到的。

    靈活

    TensorFlow 的一個非常重要的特性是,它的操作非常靈活。這意味著它具有模組性,可以讓你把希望獨立出來的部分分出來

    容易訓練

    對於分散式計算來說,它很容易在 CPU 和 GPU 上訓練。

    並行神經網路訓練

    TensorFlow 提供了管道流,從這個意義上說,你可以訓練多個神經網路和多個 GPU,這使得模型在大型系統上非常有效。

    大型社群

    不用說,它是由 Google 開發的,已經有一個龐大的軟體工程師團隊在不斷地改進穩定性。

    開源

    這個機器學習庫最好的一個特點是,它是開源的,任何人只要有連線網際網路就可以使用它。

    TensorFlow的用途

    TensorFlow中建立的所有庫都是用C和C ++編寫的。但是,它具有複雜的Python前端。你的Python程式碼將被編譯,然後在使用C和C ++構建的TensorFlow分散式執行引擎上執行。

    TensorFlow的應用程式數量實際上是無限的,這就是TensorFlow的優點。

    Scikit-Learn

    什麼是Scikit-Learn

    這是一個與NumPy和SciPy相關聯的Python庫。 它被認為是處理複雜資料的最佳庫之一。

    該庫中有很多更改。一種修改是交叉驗證功能,它提供了使用多個指標的能力。實現迴歸和最近鄰等許多培訓方法得到了小小的改進。

    Scikit-Learn的功能

    交叉驗證:有多種方法可以檢查不可見資料上受監督模型的準確性。無監督學習演算法:同樣,在產品中有大量的演算法——從聚類、因子分析、主成分分析到無監督神經網路特徵提取:用於從影象和文字中提取特徵(例如一段文字)

    Scikit-Learn的用途

    它包含許多實現標準機器學習和資料探勘任務的演算法,如降維、分類、迴歸、聚類和模型選擇。

    Numpy

    什麼是Numpy

    TensorFlow和其他庫在內部使用Numpy在Tensor上執行多項操作。陣列介面是Numpy最好的也是最重要的功能。

    Numpy的特點

    互動性:Numpy 非常容易理解和使用數學性:使複雜的數學實現變得非常簡單直觀:真正使編碼變得容易,掌握概念也很容易大量介面:廣泛使用,因此有很多開源貢獻者

    Numpy的用途?

    該介面可用於將影象、聲音和其他二進位制原始流表示為 n 維實數陣列。

    機器學習庫的實現,擁有 Numpy 的知識對於全棧開發人員來說是很重要的。

    Keras

    什麼是Keras

    Keras 被認為是 python 中最酷的機器學習庫之一。它提供了一種更容易表達神經網路的機制。Keras 還為編譯模型、處理資料集、圖形視覺化等提供了一些最佳實用程式。

    在後端,Keras 在內部使用 Theano 或 TensorFlow。也可以使用一些最流行的神經網路,如 CNTK。當我們將其與其他機器學習庫進行比較時,Keras 的速度相對較慢,因為它使用後端基礎設施建立計算圖,然後利用它執行操作。Keras 的所有模型都很輕簡。

    Keras的特點

    它在 CPU 和 GPU 上都能順利執行。Keras 支援幾乎所有的神經網路模型——全連線、卷積、池化、迴圈、嵌入等。此外,這些模型可以結合起來構建更復雜的模型。Keras 本質上是模組化的,具有難以置信的表現力、靈活性和創新性研究的能力。Keras 是一個完全基於 python 的框架,它使除錯和探索變得容易。

    Keras的用途

    Keras 包含許多常用的神經網路構建塊的實現,例如層、目標、啟用函式、最佳化器和一系列工具,以使影象和文字資料的處理更加容易。

    此外,它還提供許多預處理的資料集和預訓練的模型,如 MNIST, VGG, Inception, SqueezeNet, ResNet 等。

    Keras 也是深度學習研究人員的最愛。大型科學組織,特別是 CERN and NASA 的研究人員尤其偏愛 Keras。

    PyTorch

    什麼是PyTorch

    PyTorch是最大的機器學習庫,允許開發人員透過GPU加速來執行張量計算,建立動態計算圖並自動計算梯度。除此之外,PyTorch還提供了豐富的API,用於解決與神經網路有關的應用程式問題。

    該機器學習庫基於Torch,Torch是使用C語言在Lua中使用包裝器實現的開源機器庫。

    PyTorch的功能

    端到端 Hybrid

    一種新的混合前端,提供了易於使用和具有靈活性的 Eager Mode,同時為了速度,無縫過渡到 graph mode,在 C++執行環境中非常實用。

    分散式訓練

    利用本地支援非同步執行集體操作和點對點通訊(Python 和 C++),最佳化研究和生產中的效能。

    python 優先

    PyTorch 不是一個將 python 繫結到 C++框架的工具。它的構建是為了深入整合到 python 中,以便可以與流行的庫和包(如 Cython 和 Numba)一起使用。

    庫和工具

    一個由研究人員和開發人員組成的活躍社群已經建立了一個豐富的工具和庫的生態系統,用於擴充套件 PyTorch 並支援從計算機視覺到強化學習等領域的開發。

    PyTorch的用途

    PyTorch 主要用於自然語言處理等領域的應用程式。

    它主要是由 Facebook 的人工智慧研究小組開發的,Uber 的機率程式設計軟體「Pyro」就建立在它的基礎之上。

    PyTorch 在很多方面都優於 TensorFlow,最近它得到了很多關注。

    LightGBM

    什麼是LightGBM

    這些庫是LightGBM,XGBoost和CatBoost。所有這些庫都是競爭對手,它們可以幫助解決一個常見問題,並且可以幾乎以類似的方式使用。

    LightGBM的功能

    計算速度快,生產效率高。直觀,易於使用。比其他許多深度學習庫更快地訓練。在遇到 NaN 值和其他規範值時不會產生錯誤。

    LightGBM的用途

    Eli5

    什麼是Eli5

    通常,機器學習模型預測的結果並不準確,python 內建的機器學習庫 Eli5 有助於克服這一挑戰。它是視覺化和除錯所有機器學習模型的組合,並跟蹤演算法的所有工作步驟。

    Eli5的功能

    此外,Eli5 還支援其他庫,包括 xgboost、lightning、scikit-learn 和 sklearn-crfsite。所有上述庫中每一個都可以執行不同的任務。

    Eli5有哪些應用?

    在短時間內需要進行大量計算的數學應用。Eli5 在和其他 Python 包存在依賴關係的情況下發揮著至關重要的作用。在各個領域的傳統應用程式實現新方法。SciPy

    什麼是SciPy

    SciPy 是一個面向應用程式開發人員和工程師的機器學習庫。但是,你仍然需要知道 SciPy 庫和 SciPy 堆疊之間的區別。SciPy 庫包含用於最佳化、線性代數、整合和統計的模組。

    SciPy的特點

    SciPy 庫的主要特點是它是使用 Numpy 開發的,它的陣列充分利用了 Numpy。此外,SciPy 還使用其特定的子模組提供了所有有效的數值程式,如最佳化、數值積分和許多其他程式。所有 SciPy 子模組中的所有功能都有具體的文件註釋。

    SciPy的用途?

    SciPy 是一個使用 Numpy 來解數學函式的庫。SciPy 使用 Numpy 陣列作為基本資料結構,並附帶用於科學程式設計中各種常用任務的模組。

    SciPy 可以輕鬆地處理線性代數、積分(微積分)、常微分方程求解和訊號處理等任務。

    Theano

    什麼是Theano

    Theano 是一個用於計算多維陣列的計算框架機器學習庫。它的工作原理與 TensorFlow 相似,但不如 TensorFlow 有效,因為它無法適應生產環境。

    此外,Theano 也可以在與 TensorFlow 類似的分散式或並行環境中使用。

    Theano的特點

    與 Numpy 緊密整合:能夠在無編譯函式中使用完整的 Numpy 陣列。高效地使用 GPU:比 CPU 執行資料密集型計算要快得多。有效的符號區分:Theano 為具有一個或多個輸入的函式求導數。速度和穩定性最佳化:即使在 x 非常小的情況下,也能求出 log(1+x)的正確答案。這只是一個可以證明 Theano 穩定性的例子。動態 C 程式碼生成:比以前更快地評估表示式,從而大大提高效率。廣泛的單元測試和自驗證:檢測和診斷模型中多種型別的歧義和錯誤。

    Theano的用途

    Theano 表示式的實際語法是符號化的,這對於習慣於常規軟體開發的初學者來說是很不方便的。具體來說,表示式是以抽象的方式定義、編譯的,然後直接用於計算。

    它是專門為處理深度學習使用的大型神經網路演算法所需的計算而設計的。它是同類庫中最早的一個,被認為是深度學習研究和開發的行業標準。

    Theano 目前正被用於多個神經網路專案中,而且隨著時間的推移,Theano 的普及率也在不斷提高。

    Pandas

    什麼是Pandas

    Pandas 是 Python 中的一個機器學習庫,它提供高階的資料結構和各種各樣的分析工具。這個庫的一個重要特性是能夠使用一個或兩個命令轉換複雜的資料操作。Pandas 有許多內建的分組、資料組合、過濾和時間序列功能的函式。

    Pandas的特點

    Pandas 確保了整個資料處理的過程更加容易。對諸如重索引、迭代、排序、聚合、連線和視覺化等操作的支援是 Pandas 的特色亮點之一。

    Pandas的用途

    當前,pandas庫的發行版較少,其中包括數百種新功能,錯誤修復,增強功能和API更改。Pandas 的改進在於它能夠對資料進行分組和排序,為使用的方法選擇最適合的輸出,併為執行自定義型別的操作提供支援。

    當使用 Pandas 的時候,資料分析佔了很大的比重。但是,當與其他庫和工具一起使用時,Pandas 確保了高效能和良好的靈活性。

  • 中秋節和大豐收的關聯?
  • 水波靠水傳遞,聲波靠空氣傳遞,電波靠導體傳遞,光靠什麼傳遞?