在編程世界中,Python 是需求最大、效率最高的編程語言。有許多原因使 Python 成為一種非常受歡迎的語言。吸引人的一點是它不可思議的延展性。Python 提供了數千個庫,減少了行數。Python 在全球擁有龐大的社區,其社區一直在不斷更新其功能和庫。
在本教程中,我們將討論之前推出的 Python Top 10 庫。我們沒有列出所有人都知道的典型圖書館(Pandas、pytorch、numpy 或 Tensorflow)。
- 尷尬陣列
- 八月
- 堂皇地
- 中心
- Jupytext
- 明顯地
- LightBGM
- 強哥忍者
- sqlmmodel
- 不等邊的
獎勵庫
- 紀娜和微調器
頂級 Python 庫
我們列出了一些頂級 Python 庫,這些庫在未來幾年可能會非常受歡迎,並在職業生涯中提供了擴展。下面是最近發布的前 10 個 Python 庫。
1.尷尬陣列
我們大多數人可能都熟悉 numpy 及其數組。這是 numpy 的主要數據結構和一個價值網格。Numpy 數組允許對數據部分進行向量化操作,這會影響低級庫中的並行性和優化。因此,對於一個循環,它們的執行速度比 Python 快得多。
但是 Numpy 數組在表達變長結構方面有所欠缺。雖然我們可以將 dtype 設置為對象,這還不夠。
在這種情況下,笨拙的庫可以幫助我們。笨拙的數組看起來像下面的常規數組;它們是嵌套的樹狀數據結構(JSON)。它們類似於 Numpy 數組,例如將數據存儲在連續的內存中。它們使用編譯後的向量化代碼進行操作。
我們參考了尷尬的圖書館的官方文件。讓我們理解下面的例子-
示例-
import awkward as ak
array = ak.Array([
[{"x": 1.1, "y": [1]}, {"x": 2.2, "y": [1, 2]}, {"x": 3.3, "y": [1, 2, 3]}],
[],
[{"x": 4.4, "y": [1, 2, 3, 4]}, {"x": 5.5, "y": [1, 2, 3, 4, 5]}]
])
- 使用常規 Python 進行循環
import numpy as np
output = []
for sublist in array:
tmp1 = []
for record in sublist:
tmp2 = []
for number in record["y"][1:]:
tmp2.append(np.square(number))
tmp1.append(tmp2)
output.append(tmp1)
輸出:1
[[[], [4], [4, 9]], [], [[4, 9, 16], [4, 9, 16, 25]]]
- 使用尷尬陣
output = np.square(array["y", ..., 1:])
print(output)
輸出:2
[[[], [4], [4, 9]], [], [[4, 9, 16], [4, 9, 16, 25]]]
正如我們所看到的,兩個代碼片段生成了相同的輸出,但是第二個代碼片段只用了一行。它速度更快,佔用的內存更少。
2.格拉迪歐
如果你屬於數據科學領域,一定要熟悉 Streamlight。 Streamlight 將數據腳本集成到可共享的網絡應用中,這樣用戶就可以將他們的輸出演示為實際的應用,而不是木星筆記本。成績是用友好的網絡界面演示機器學習模型的最快方法。它使 ML 構建器的演示比 Streamlight 更容易和更快。
Radio 允許我們創建特定於機器學習模型的網絡用戶界面。
用戶可以通過使用滑塊更改參數、上傳圖像、編寫文本和錄製語音來修改應用。
毫無疑問,Gradio 使模型更容易訪問,這對數據科學家來說是最重要的。
3.中心
有一種普遍的看法;通常,數據科學家花費大部分時間調整模型或規劃解決新問題的最佳方法。那是錯誤的;數據科學家將大部分時間花在獲取數據、安排不正確的格式和編寫樣板代碼上。
基礎結構代碼對於處理數據的重要質量也是必不可少的。
Hub 是一種數據集格式,具有簡單的 API,用於存儲、創建和協作任何大小的人工智能數據集。我們可以存儲任何數據集,而不用擔心數據大小。許多科技巨頭都在使用 Hub,如谷歌、Waymo、牛津大學、紅十字會和 Omdena。
Hub 附帶了 Pytorch 和 Tensorflow 的內置集成。它以壓縮格式存儲數據(卡盤數組)。我們還可以存儲任何存儲選項,例如 AWS S3、GCP 存儲桶,或者可以考慮本地存儲。Hub 工作緩慢,這意味着只有在需要時才會提取數據。主要優勢之一是,我們不需要多 TB 來處理多 TB 數據集。
4. 8 月
AugLy 用於訓練計算機視覺中的魯棒模型。從標記的數據中獲得最重要的洞察力非常重要。此外,數據增強是 2021 年極大推動 SOTA 發展的各種學科的核心。
AugLy 是由 Meta(臉書)發明的,這是一個數據增強庫,目前支持四種模式(音頻、圖像、文本和視頻)和 100 多種增強。我們可以用元數據配置擴展,並對它們進行壓縮以獲得期望的結果。
AugLy 庫旨在用於在模型訓練中擴充我們的數據。在翻轉、調整大小或顏色抖動方面還有許多其他庫。讓我們舉一個現實生活中的 Aug 庫的例子——把一個圖像變成一個 meme,在圖像/視頻上疊加文本/表情符號,把一些圖像變成 Instagram 過濾器,等等。
5.jupytext
Jupyter 筆記本是一個非常有用的工具,但是我們不想在網絡瀏覽器中寫入數據。這是 Jupyter 筆記本的缺點。此外,它還會在版本控制方面產生問題。Jupytext 消除了這些限制,允許我們將筆記本保存為幾種語言的減價或腳本。它以純文本形式提供結果,使得在版本控制中共享它們變得容易。其他人可以合併更改,甚至可以使用 IDEs 和它們漂亮的自動完成功能。它是 2022 年數據科學家的必備工具。
6.明顯地
一組 ML 工程師和數據科學家創建了一個機器學習模型,hat 模型毫不費力地接收和發送數據。但是在生產的時候,很多事情都會出問題。發生這種情況的原因有很多。
它是一個開源的 Python 包,用於估計和探索機器學習模型的數據漂移。它不是檢測數據中的異常,而是幫助我們檢測數據漂移和目標漂移。它有助於在驗證期間評估 ML 模型,並在生產中監控它們。
顯然,它可以生成可視化報告,數據科學家可以交叉檢查以確保一切正常。
7.萊特格姆
LightGBM 是一個最有效和梯度提升的機器學習框架,它使用基於樹的學習算法。它允許程序員使用重新定義的基本模型和決策樹,並開發新的算法。許多其他庫,如 XGBoost 和 CatBoost,可以應用相同的方法,但是 LightGBM 具有一些高級優勢。它提供了最佳的速度和內存使用,並提供了更好的準確性。這個庫能夠大規模處理數據。
8 .強哥忍者
Django 是一個最流行的包含電池的框架,用於構建 web 應用。如果開發人員想要創建一個 RESTful APIs,他們會轉向 Django Rest 框架。但是有一個新的競爭者被稱為 Django 忍者。這是一個用 Django 構建 API 的快速網絡框架。Django Ninja 提供了創建 API 的簡單方法,在這裡我們可以對參數進行類型轉換和驗證。它由多家公司在直播項目中使用。它還與 Django 和 ORM 集成在一起,因此我們可以輕鬆利用 Python/Django。
9.sqlmmodel
SQLModel 是一個庫,它使用 Python 對象的 Python 代碼與 SQL 數據庫交互。它基於 Python 注釋,並得到 Pydantic 和 SQLAlchemy 的支持。為編輯器提供了很大的支持,調試花費的時間更少。這個庫非常簡單,用戶友好。主要優點是;與 FastAPI、Pydantic、和 SQLAlchemy 有很好的兼容性。如果你熟悉數據庫的基礎知識,你可以很容易地通過這個庫了解到。
10.不等邊的
Scalene 是一個集成的高性能內存 GPU/CPU 剖析器,可以做幾件事。它能夠處理多線程代碼,並提供比其他分析器好得多的細節。使用它時,我們不需要在腳本中進行更改,可以從 scalene 命令執行腳本。它只是以 HTML 文檔或文本的形式給出結果,以跟蹤每行代碼使用的 CPU 和內存。
獎金庫
紀娜和微調器
我們大多數人都在使用像谷歌這樣的搜索引擎,但是你有沒有注意到搜索引擎是如何變得比幾年前更好的。場景背後發生了革命性的事情,正在慢慢取代傳統的基於關鍵詞的搜索方式。
一種新的搜索方式被稱為神經搜索。神經搜索將整個文本輸入神經網絡,神經網絡將變成向量。為了簡化,在基於關鍵詞的搜索中,文本被放入離散的標記中,並用於匹配。神經搜索不僅僅局限於文本數據。它可以用任何數據類型(圖像、音頻和視頻)來實現。
紀娜提供了一個革命性的解決方案,使開發人員能夠在幾分鐘內構建可擴展的深度學習搜索應用。從代碼和部署的角度來看,它提供了實現神經搜索系統的工具。它是可擴展的和雲原生的。
另一方面,微調器允許我們對神經網絡表示進行微調,以獲取最適合神經搜索任務的結果。
結論
還有其他幾個流行且有用的庫可以成為技術領域的里程碑。但是我們已經解釋了幾個重要的、通用的庫,它們可以在不久的將來被廣泛使用。Python 是數據科學活動中最常用的語言。Python 專家將使用上述大多數工具來提高產品質量。
原創文章,作者:0BF5J,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128845.html