目錄
- 一、Faker
- 二、Pywebio
- 三、Airflow
- 四、Loguru
- 五、Pydash
- 六、Weights Biases
- 七、PyCaret
- Summary
一、Faker
生產(chǎn)環(huán)境通常具有實(shí)時(shí)數(shù)據(jù)。把它放到測(cè)試環(huán)境中并不容易。我們必須對(duì)從生產(chǎn)到測(cè)試環(huán)境的數(shù)據(jù)進(jìn)行標(biāo)記化,這通常會(huì)將數(shù)據(jù)轉(zhuǎn)換為亂碼。
此外,在欺詐行業(yè),我們需要找出欺詐身份。為了生成假PII(個(gè)人可識(shí)別信息),我使用了一個(gè)名為Faker的包,這是一個(gè)很酷的軟件包,可以讓你創(chuàng)建一個(gè)帶有地址、名字等的假PII。
以上是一些虛假數(shù)據(jù)的例子。帶有 GAN 假圖像的假數(shù)據(jù)可以給出一個(gè)真實(shí)的人。
二、Pywebio
我們知道 Flask 適用于 Python 端的表單、UI 和 restapi。然而,如果想要一個(gè)簡單的表單,F(xiàn)lask就不太適用了。通常用 Pywebio 來創(chuàng)建,它會(huì)創(chuàng)建了一個(gè)簡單、干凈的UI。所有的代碼都是用普通的python編寫的,并且我們不用額外學(xué)新東西!
# A simple script to calculate BMI
from pywebio.input import input, FLOAT
from pywebio.output import put_text
def bmi():
height = input("Input your height(cm):", type=FLOAT)
weight = input("Input your weight(kg):", type=FLOAT)
BMI = weight / (height / 100) ** 2
top_status = [(16, 'Severely underweight'), (18.5, 'Underweight'),
(25, 'Normal'), (30, 'Overweight'),
(35, 'Moderately obese'), (float('inf'), 'Severely obese')]
for top, status in top_status:
if BMI = top:
put_text('Your BMI: %.1f. Category: %s' % (BMI, status))
break
if __name__ == '__main__':
bmi()
在幾秒鐘內(nèi),它轉(zhuǎn)換為一個(gè)前端 UI 網(wǎng)頁。我們還可以編寫一些會(huì)話并處理輸入和輸出,查看他們的文檔以獲取詳細(xì)信息。
三、Airflow
Airflow 是我最喜歡的軟件包之一,它是一種工作流管理工具,在 MLOPS 中經(jīng)常被低估和較少使用,它還可以用于特定的執(zhí)行間隔、重新訓(xùn)練模型、批處理、網(wǎng)站抓取、投資組合跟蹤、自定義新聞提要等。
在工作流程方面,選項(xiàng)是無限的,它還可以連接到特定服務(wù)的云服務(wù)商。代碼可以用 python 寫,在 UI 上可以看到執(zhí)行,非常棒。工作流也可以按特定時(shí)間間隔進(jìn)行安排。
四、Loguru
Logger 是我討厭但又不得不使用的工具,它是調(diào)試應(yīng)用程序的最佳方法之一。但是,logger 里面的日志太多了,讓人比較煩。而 Loguru 在某種程度上就比較友好,它雖不能解決所有挑戰(zhàn),但是它很容易添加日志語句并為其添加更多調(diào)試。
from loguru import logger
logger.debug("That's it, beautiful and simple logging!")
它還有助于拆分文件并執(zhí)行清理,因此我們不需要查看所有歷史日志。
logger.add("file_1.log", rotation="500 MB") # Automatically rotate too big file
logger.add("file_2.log", rotation="12:00") # New file is created each day at noon
logger.add("file_3.log", rotation="1 week") # Once the file is too old, it's rotated
logger.add("file_X.log", retention="10 days") # Cleanup after some time
logger.add("file_Y.log", compression="zip") # Save some loved space
你還可以使用參數(shù) backtrace 來回溯執(zhí)行。
簡而言之,在生產(chǎn)環(huán)境中使用這個(gè)包來調(diào)試應(yīng)用程序或 AI 模型訓(xùn)練是值得的。
五、Pydash
通常在數(shù)據(jù)清洗或處理中,我們要處理大量的數(shù)據(jù)清洗。這些是一些較小的項(xiàng)目,需要時(shí)間。例如,如何展平列表?當(dāng)然,你可以寫一個(gè)清單,但是如果有一個(gè)快速功能來執(zhí)行這些操作呢?
這就是Pydash閃耀的地方,它成為了我的快速轉(zhuǎn)到庫,其中包含一系列python實(shí)用程序。
以上只是一個(gè)小例子,它包含很多功能,絕對(duì)值得一看。
六、Weights Biases
WANDB是跟蹤和可視化機(jī)器學(xué)習(xí)管道最有用的包之一,我最喜歡的部分是他們的central dashboard,它類似于記錄器,但可以做更多的事情。
它易于使用,并集成了最流行的庫,如 Tensorflow、PyTorch、fastai、huggingface 等。但是,在商業(yè)領(lǐng)域使用它時(shí)有一些限制,你必須付費(fèi)訂閱。除此之外,它是一個(gè)很棒的庫。
七、PyCaret
在R中我最喜歡的一個(gè)包是caret 包,當(dāng)我看到 PyCaret 包時(shí),我很興奮。因?yàn)樗喕嗽S多編碼,當(dāng)你想快速做某件事情時(shí)可以使用。這個(gè)包有很多關(guān)于默認(rèn)參數(shù)的選項(xiàng),可以用不同的度量點(diǎn)運(yùn)行不同的模型。
Summary
正如本文所說的,我們看到在應(yīng)用程序開發(fā)或數(shù)據(jù)分析中使用了不同的包,這并不是一份詳盡的清單,我會(huì)繼續(xù)為大家分享更多的實(shí)用的工具包。
到此這篇關(guān)于你肯定不知道這7個(gè)非常實(shí)用的Python工具包的文章就介紹到這了,更多相關(guān)Python工具包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python包管理工具pip的15 個(gè)使用小技巧
- python 使用pygame工具包實(shí)現(xiàn)貪吃蛇游戲(多彩版)
- 詳解Python打包分發(fā)工具setuptools
- Python程序打包工具py2exe和PyInstaller詳解
- 詳解python使用pip安裝第三方庫(工具包)速度慢、超時(shí)、失敗的解決方案
- 淺析python打包工具distutils、setuptools