<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2020 年最佳流行 Python 庫 Top 10

          共 5079字,需瀏覽 11分鐘

           ·

          2021-01-06 19:54

          2020年最熱門的Python庫有哪些?規(guī)則很簡單。我們正在尋找的庫滿足以下條件:
          • 它于2020年推出或普及。
          • 自發(fā)布以來,一直得到很好的維護(hù)。
          • 它非???,您應(yīng)該使用一下它。
          免責(zé)聲明:我們的選擇在很大程度上受機(jī)器學(xué)習(xí)/數(shù)據(jù)科學(xué)庫的影響,盡管其中某些庫確實(shí)對非數(shù)據(jù)科學(xué)人士也同樣受用。此外,盡管我們有10個(gè)主要選擇,但我們還是決定增加一個(gè)新的“榮譽(yù)提名”部分,以便對我們發(fā)現(xiàn)但不能遺漏的其他第三方庫一個(gè)公道。
          這篇文章的精神是使這些庫更為大眾所知,并圍繞我們可能已經(jīng)錯(cuò)過的其他一些絕佳選擇引發(fā)討論(在評論中或其他地方)。
          因此,事不宜遲,讓我們開始吧。
          1、Typer
          https://github.com/tiangolo/typer

          您不一定總是需要編寫 CLI 應(yīng)用程序,但這樣做可以省不少事。在 FastAPI(https://fastapi.tiangolo.com/) 取得巨大成功之后,tiangolo (https://twitter.com/tiangolo) 使用了相同的原理為我們帶來了 Typer:一個(gè)新的庫,使您可以利用Python 3.6+的類型提示功能來編寫命令行界面。
          該設(shè)計(jì)的確使Typer脫穎而出。除了確保代碼已正確記錄之外,您還可以輕松進(jìn)行CLI界面的驗(yàn)證。通過使用類型提示,您可以在Python編輯器(如VS Code)中獲得自動(dòng)補(bǔ)全功能,這將提高您的生產(chǎn)率。
          為了增強(qiáng)其功能,Typer內(nèi)核是基于Click(https://click.palletsprojects.com/en/7.x/)的,而Click則是眾所周知,并且經(jīng)過了嚴(yán)格的測試。這意味著它可以利用其所有好處,如社區(qū)和插件,同時(shí)以更少的樣板代碼從簡單開始,并根據(jù)需要變得復(fù)雜。
          Typer文檔(https://typer.tiangolo.com/)確實(shí)很有幫助,并且應(yīng)該成為其他項(xiàng)目的典范。絕對不能錯(cuò)過!

          2. Rich
          https://github.com/willmcgugan/rich
          順著CLI的主題,誰說終端應(yīng)用程序必須是純白色,或者如果您是真正的黑客,則必須是綠色,是黑色?
          是否要在終端輸出中添加顏色和樣式?毫不費(fèi)力地顯示漂亮的進(jìn)度條?Markdown?表情符號(hào)?Rich可以實(shí)現(xiàn)上述所有功能。查看下面示例截圖可以進(jìn)一步了解:

          Rich 絕對是一個(gè)可以將使用終端應(yīng)用程序的體驗(yàn)提升到全新水平的庫。

          3. Dear PyGui
          https://github.com/hoffstadt/DearPyGui
          盡管如我們所見,終端應(yīng)用程序可以很漂亮,但有時(shí)還不夠,您需要一個(gè)真正的GUI。目前流行的Dear ImGui C ++項(xiàng)目(https://github.com/ocornut/imgui)的Python分支Dear PyGui正是為此而誕生。
          Dear PyGui利用了在視頻游戲中廣為流行的即時(shí)模式范例(immediate mode paradigm)。這基本上意味著動(dòng)態(tài)GUI是逐幀獨(dú)立繪制的,無需保留任何數(shù)據(jù)。這使得該工具與其他Python GUI框架有著根本不同。它具有高性能,并使用計(jì)算機(jī)的GPU來促進(jìn)高度動(dòng)態(tài)界面的構(gòu)建,這在工程,仿真,游戲或數(shù)據(jù)科學(xué)應(yīng)用程序中經(jīng)常用到。

          Dear PyGui可以在沒有陡峭的學(xué)習(xí)曲線的情況下使用,并且可以在Windows 10(DirectX 11),Linux(OpenGL 3)和MacOS(Metal)上運(yùn)行。

          4. PrettyErrors
          https://github.com/onelivesleft/PrettyErrors
          大道至簡,這是一個(gè)值得讓您思考的庫:以前沒人想過這是怎么回事?
          PrettyErrors只做一件事并且做得很好。在支持彩色輸出的終端中,它將隱秘的堆棧軌跡轉(zhuǎn)換成更適合用微弱的人眼解析的東西。無需再掃描整個(gè)屏幕來查找異常的原因……您現(xiàn)在就可以一目了然!


          5. Diagrams
          https://github.com/mingrammer/diagrams
          我們程序員喜歡用代碼解決問題。但是有時(shí),我們需要向其他同事解釋復(fù)雜的架構(gòu)設(shè)計(jì)。傳統(tǒng)上,我們使用GUI工具,在其中我們可以處理圖表和可視化以放入演示文稿和文檔。但這不是唯一的方法。
          Diagrams使您無需任何設(shè)計(jì)工具即可直接在Python代碼中繪制云系統(tǒng)架構(gòu)。它包含的圖標(biāo)支持多個(gè)云提供商(包括AWS,Azure,GCP)。這使創(chuàng)建箭頭和組非常容易。真的,只有幾行代碼!

          基于代碼的圖表的最好之處是什么?您可以通過git使用版本控制來掌控進(jìn)度!

          6. Hydra 和 OmegaConf
          https://hydra.cc/?
          https://github.com/omry/omegaconf
          在進(jìn)行機(jī)器學(xué)習(xí)項(xiàng)目的研究和實(shí)驗(yàn)時(shí),總是有無數(shù)的設(shè)置可以嘗試。在非平凡解的應(yīng)用程序中,配置管理會(huì)變得相當(dāng)復(fù)雜,非???。有一種結(jié)構(gòu)化的方式來處理這種復(fù)雜性不是很好嗎?
          Hydra是一種工具,可讓您以可組合的方式構(gòu)建配置,并從命令行或配置文件覆蓋某些部分。
          為了說明可以通過該庫簡化的一些常見任務(wù),假設(shè)有一個(gè)我們正在嘗試的模型的基本體系結(jié)構(gòu),以及它的多種變體。使用Hydra,可以定義基本配置,然后運(yùn)行多個(gè)作業(yè),并進(jìn)行以下更改:
          python?train_model.py?variation=option_a,option_b
          ├──?variation
          │???├──?option_a.yaml
          │???└──?option_b.yaml
          ├──?base.yaml
          └──?train_model.py
          Hydra 的表親 OmegaConf 為分層配置系統(tǒng)的基礎(chǔ)提供了一致的API,并支持YAML,配置文件,對象和CLI參數(shù)等不同來源。
          這是21世紀(jì)進(jìn)行配置管理的必備條件!

          7. PyTorch Lightning
          https://github.com/PyTorchLightning/PyTorch-lightning
          每一種提高數(shù)據(jù)科學(xué)團(tuán)隊(duì)生產(chǎn)力的工具都值得鼓勵(lì)。沒有理由讓從事數(shù)據(jù)科學(xué)項(xiàng)目的人每次都重新發(fā)明輪子,反復(fù)思考如何更好地組織其項(xiàng)目中的代碼,使用維護(hù)得不好的“ PyTorch 樣板”,或者使用更高級(jí)別的抽象功能。
          PyTorch Lightning 通過將科學(xué)與工程分離而有助于提高生產(chǎn)率。從某種意義上說,它使您的代碼更簡潔,有點(diǎn)像 TensorFlow 的 Keras。但是它仍然是PyTorch,您可以訪問所有常用的API。
          該庫可幫助團(tuán)隊(duì)利用圍繞組織的軟件工程的良好實(shí)踐和明確的組件職責(zé)來構(gòu)建可輕松擴(kuò)展,以在多個(gè)GPU,TPU和CPU上進(jìn)行訓(xùn)練高質(zhì)量代碼。

          一個(gè)可以幫助數(shù)據(jù)科學(xué)團(tuán)隊(duì)的初級(jí)成員產(chǎn)生更好結(jié)果的庫,但是,由于整體生產(chǎn)力的提高,而且沒有放棄控制權(quán),更有經(jīng)驗(yàn)的成員會(huì)喜歡它。

          8. Hummingbird
          https://github.com/microsoft/hummingbird

          并非所有的機(jī)器學(xué)習(xí)都是深度學(xué)習(xí)。通常,您的模型由scikit-learn中實(shí)現(xiàn)的更傳統(tǒng)的算法(例如,Random Forest)組成,或者您使用諸如流行的LightGBM和XGBoost之類的梯度增強(qiáng)方法。
          但是,深度學(xué)習(xí)領(lǐng)域正在發(fā)生許多進(jìn)步。像PyTorch這樣的框架正在以驚人的速度發(fā)展,并且硬件設(shè)備已經(jīng)過優(yōu)化,可以更快地運(yùn)行張量計(jì)算并降低功耗。如果我們可以利用所有這些工作來更快、更高效地運(yùn)行傳統(tǒng)方法,那豈不是很好嗎?
          這是Hummingbird的用武之地。微軟提供的這個(gè)新庫可以將訓(xùn)練有素的傳統(tǒng)ML模型編譯為張量計(jì)算。這很棒,因?yàn)樗鼓鸁o需重新設(shè)計(jì)模型。
          到目前為止,Hummingbird支持轉(zhuǎn)換為PyTorch,TorchScript,ONNX和TVM,以及各種ML模型和矢量化器。推理API也與Sklearn范例非常相似,可讓您重用現(xiàn)有代碼,但將實(shí)現(xiàn)更改為Hummingbird生成的代碼。這是一個(gè)值得關(guān)注的工具,因?yàn)樗@得了對模式模型和格式的支持!

          9. HiPlot
          https://github.com/facebookresearch/hiplot
          幾乎每個(gè)數(shù)據(jù)科學(xué)家在職業(yè)生涯中的某個(gè)時(shí)候都曾處理過高維數(shù)據(jù)。不幸的是,人腦沒有足夠的連線直觀地處理這種數(shù)據(jù),因此我們必須訴諸其他技術(shù)。
          今年初,F(xiàn)acebook發(fā)布了HiPlot,這是一個(gè)庫,可使用并行繪圖和其他圖形方式來表示信息,從而幫助發(fā)現(xiàn)高維數(shù)據(jù)中的相關(guān)性和模式。該概念已在其發(fā)布博客文章中進(jìn)行了解釋,但基本上,它是一種可視化和過濾高維數(shù)據(jù)的好方法。

          HiPlot具有交互性,可擴(kuò)展性,您可以從標(biāo)準(zhǔn)Jupyter筆記本電腦或通過其自己的服務(wù)器使用它。

          10. Scalene
          https://github.com/emeryberger/scalene
          隨著Python庫生態(tài)系統(tǒng)變得越來越復(fù)雜,我們發(fā)現(xiàn)自己正在編寫越來越多的依賴C擴(kuò)展和多線程的代碼。在衡量性能時(shí),這成為一個(gè)問題,因?yàn)镃Python內(nèi)置的探查器無法正確處理多線程和本機(jī)代碼。
          那就是Scalene進(jìn)行救援的時(shí)候。Scalene是用于Python腳本的CPU和內(nèi)存探查器,能夠正確處理多線程代碼并區(qū)分運(yùn)行Python和本機(jī)代碼所花費(fèi)的時(shí)間。無需修改代碼,只需要在命令行中使用scalene運(yùn)行腳本,腳本就會(huì)為您生成文本或HTML報(bào)告,顯示代碼每一行的CPU和內(nèi)存使用情況。


          榮譽(yù)提名:
          • Norfair
          https://github.com/tryolabs/norfair
          Norfair是一個(gè)可定制的輕量級(jí)Python庫,用于實(shí)時(shí)2D對象跟蹤。使用Norfair,您只需幾行代碼就可以為任何檢測器添加跟蹤功能。
          • quart
          https://gitlab.com/pgjones/quart/
          一個(gè)兼容Flask API的異步Web框架。一些現(xiàn)有的Flask擴(kuò)展程序甚至可以直接使用!
          • alibi-detect
          https://github.com/SeldonIO/alibi-detect
          監(jiān)視生產(chǎn)模型中的異常值和分布漂移,以獲取表格數(shù)據(jù),文本,圖像和時(shí)間序列。
          • einops
          https://github.com/arogozhnikov/einops
          einops于2020年普及,可讓您編寫張量操作以獲得可讀且可靠的代碼,并支持numpy,PyTorch,TensorFlow等。
          • stanza
          https://github.com/stanfordnlp/stanza
          斯坦福提供的支持60多種語言的自然語言處理工具。針對不同任務(wù)的多個(gè)可用的預(yù)訓(xùn)練模型。
          • datasets
          https://github.com/huggingface/datasets
          來自HuggingFace的輕量級(jí)可擴(kuò)展庫,可輕松共享和訪問數(shù)據(jù)集和自然語言處理(NLP)等評估指標(biāo)
          • pytorch-forecasting
          https://github.com/jdb78/pytorch-forecasting
          借助神經(jīng)網(wǎng)絡(luò)簡化了針對實(shí)際案例和研究的時(shí)間序列預(yù)測。
          • sktime
          https://github.com/alan-turing-institute/sktime
          提供了專用的時(shí)間序列算法和scikit-learn兼容工具,用于構(gòu)建,調(diào)整和評估組合模型。還要檢查其配套的sktime-dl軟件包,以獲取基于深度學(xué)習(xí)的模型。
          • netron
          https://github.com/lutzroeder/netron
          神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)和機(jī)器學(xué)習(xí)模型的可視化工具。支持的格式比我所知道的還要多。
          • pycaret
          https://github.com/pycaret/pycaret
          包裝了幾個(gè)常見的ML庫,使您的工作效率大大提高,節(jié)省了數(shù)百行代碼。
          • tensor-sensor
          https://github.com/parrt/tensor-sensor
          通過改善錯(cuò)誤消息并提供可視化效果,幫助您正確確定張量數(shù)學(xué)的尺寸。

          更多閱讀



          Top 10 沙雕又有趣的 GitHub 程序


          5分鐘掌握 Python 對象的引用


          程序運(yùn)行慢?你怕是寫的假 Python

          特別推薦





          點(diǎn)擊下方閱讀原文加入社區(qū)會(huì)員

          瀏覽 41
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人模人人插 | 黄色一级大片在线观看 | 成人午夜色情无码 | 91九色在线观看视频 | 免费看日本黄色电影 |