Python 現(xiàn)在是最流行和使用最廣泛的編程語言之一裆蒸,業(yè)界許多編程語言都已經(jīng)被它超越了,名列前茅糖驴。它之所以在開發(fā)人員中流行其原因有很多僚祷,它有大量的庫供用戶使用就是其中最重要的一點佛致。Python 的易用性、靈活性吸引了許多開發(fā)人員為機器學習創(chuàng)建新的庫辙谜。有一個庫大家必都會介紹俺榆,就是TensorFlow,這里就不在多說了筷弦。那么肋演,以下就是今日份干貨,大家有什么自己最喜歡的庫也可以在評論中留言分享~
1.Keras
Keras是由python編寫的機器學習API烂琴,其運行在機器學習的頂級平臺TensorFlow上爹殊。好處在于可以地實現(xiàn)網(wǎng)絡模型的快速搭建,數(shù)據(jù)輸入輸出也很方便奸绷,讓你可以網(wǎng)絡模型本身更專注于梗夸,適合新手。最大缺點就是慢号醉!作為高層API反症,推理速度等等肯定沒tf,mxnet那些快畔派。
2. PyTorch
它的特點:處理N維度張量铅碍,和numpy類似,但是在GPU上可以運行线椰。支持自動微分來構建和訓練大型的神經(jīng)網(wǎng)絡胞谈。
3. fastai
用過的都說好,通過利用當下最佳的技術實踐憨愉,fastai極快地簡化了訓練過程也加速了神經(jīng)網(wǎng)絡烦绳。只要一個API就幾乎包含了所有常見的深度學習應用。
4. JAX
Jax 是 Autograd 和 XLA 的結合用來提供高性能機器學習研究配紫。作為 Autograd 的更新版本径密,JAX 可以自動微分原生 Python 和 Numpy 函數(shù)√尚ⅲ可通過 loops享扔、branches、recursion 和 closures植袍,進行微分伪很,并且能夠對導數(shù)的導數(shù)求導 。支持反向模式微分通過 grad奋单。
5. FastText
它是一個可以讓你高效學習單詞表意和句子分類的庫锉试。
6. spaCy
spaCy v3.0具有所有新的基于transformer的管道,讓spaCy的準確率達到SOTA。你可以使用任意預訓練transformer來訓練你自己的管道呆盖,也可以在多組件和多任務之間共享transformer拖云。spaCy的transformer支持與PyTorch和HuggingFace transformers庫的集成,在管道中可以訪問許多預訓練模型应又。
7. gensim
它通過使用大型語料庫進行主題建模宙项、文檔索引和相似性檢索。目標受眾是自然語言處理(NLP)和信息檢索(IR)社區(qū)株扛。
8. NLTK
它是自然語言工具箱尤筐,是一整套針對自然語言處理研究和開發(fā)的開源Python模塊、數(shù)據(jù)集和教程洞就。
9. TextBlob
簡單盆繁,Python風格,是一個用于處理文本數(shù)據(jù)的庫旬蟋。它為潛入常見的自然語言處理(NLP)任務提供了一個簡單的API油昂,例如詞性標注,名詞短語提取倾贰,情感分析冕碟,分類,翻譯等匆浙。
10. Pillow
它是個對用戶十分友好的PIL分支安寺。PIL是Python圖像庫。
11. OpenCV
開源計算機視覺庫首尼。
12.LightGBM
它可以幫助開發(fā)人員使用重新定義的基本模型挑庶,即決策樹來構建新的算法。LightGBM 的特點:計算速度快饰恕、生產(chǎn)效率高、直觀井仰、易于使用埋嵌。這個庫提供了高度可擴展、優(yōu)化和快速的梯度增強實現(xiàn)俱恶,這使它在機器學習開發(fā)者中很流行雹嗦。
13.Pandas
Pandas是Python中的一個機器學習庫,高級的數(shù)據(jù)結構和各種各樣的分析工具它都能提供出來合是。主要是能夠使用一個或兩個命令轉換復雜的數(shù)據(jù)操作了罪。它還有許多內(nèi)置的分組、數(shù)據(jù)組合聪全、過濾和時間序列功能的函數(shù)泊藕。當和其他庫一起使用時,Pandas保證了高性能和良好的靈活性难礼。
14..Numpy
數(shù)組接口是 Numpy 的最佳特性娃圆。它非常容易理解和使用玫锋,讓復雜的數(shù)學實現(xiàn)變得非常簡單。廣泛使用讼呢,因此有很多開源貢獻者撩鹿。該接口可用于將圖像、聲音和其他二進制原始流表示為 n 維實數(shù)數(shù)組悦屏。
15.Click
Click的開發(fā)初衷就是使用最少的代碼节沦,以一種可組合的方式創(chuàng)建漂亮的命令行接口。它的目的是使編寫命令行工具的過程快速而有趣础爬,同時防止由于無法實現(xiàn)預期的CLI API而導致的任何問題甫贯。主要有三個特點:命令的任意嵌套、自動幫助頁面生成幕帆、支持在運行時延遲加載子命令获搏。