2020年最热门的Python库有哪些?它非常酷,应该用一下

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于Python中文社区 ,作者:Alan

Python分析抖音用户行为数据视频讲解地址

https://www.bilibili.com/video/BV1yp4y1q7ZC/

2020年最热门的Python库有哪些?规则很简单。我们正在寻找的库满足以下条件:

  • 它于2020年推出或普及。

  • 自发布以来,一直得到很好的维护。

  • 它非常酷,您应该使用一下它。

免责声明:我们的选择在很大程度上受机器学习/数据科学库的影响,尽管其中某些库确实对非数据科学人士也同样受用。此外,尽管我们有10个主要选择,但我们还是决定增加一个新的“荣誉提名”部分,以便对我们发现但不能遗漏的其他第三方库一个公道。

因此,事不宜迟,让我们开始吧。

1、Typer

https://github.com/tiangolo/typer

您不一定总是需要编写 CLI 应用程序,但这样做可以省不少事。在 FastAPI(https://fastapi.tiangolo.com/) 取得巨大成功之后,tiangolo (https://twitter.com/tiangolo) 使用了相同的原理为我们带来了 Typer:一个新的库,使您可以利用Python 3.6+的类型提示功能来编写命令行界面。

该设计的确使Typer脱颖而出。除了确保代码已正确记录之外,您还可以轻松进行CLI界面的验证。通过使用类型提示,您可以在Python编辑器(如VS Code)中获得自动补全功能,这将提高您的生产率。

为了增强其功能,Typer内核是基于Click(https://click.palletsprojects.com/en/7.x/)的,而Click则是众所周知,并且经过了严格的测试。这意味着它可以利用其所有好处,如社区和插件,同时以更少的样板代码从简单开始,并根据需要变得复杂。

Typer文档(https://typer.tiangolo.com/)确实很有帮助,并且应该成为其他项目的典范。绝对不能错过!

2. Rich

https://github.com/willmcgugan/rich

顺着CLI的主题,谁说终端应用程序必须是纯白色,或者如果您是真正的黑客,则必须是绿色,是黑色?

是否要在终端输出中添加颜色和样式?毫不费力地显示漂亮的进度条?Markdown?表情符号?Rich可以实现上述所有功能。查看下面示例截图可以进一步了解:

Rich 绝对是一个可以将使用终端应用程序的体验提升到全新水平的库。

3. Dear PyGui

https://github.com/hoffstadt/DearPyGui

尽管如我们所见,终端应用程序可以很漂亮,但有时还不够,您需要一个真正的GUI。目前流行的Dear ImGui C ++项目(https://github.com/ocornut/imgui)的Python分支Dear PyGui正是为此而诞生。

Dear PyGui利用了在视频游戏中广为流行的即时模式范例(immediate mode paradigm)。这基本上意味着动态GUI是逐帧独立绘制的,无需保留任何数据。这使得该工具与其他Python GUI框架有着根本不同。它具有高性能,并使用计算机的GPU来促进高度动态界面的构建,这在工程,仿真,游戏或数据科学应用程序中经常用到。

Dear PyGui可以在没有陡峭的学习曲线的情况下使用,并且可以在Windows 10(DirectX 11),Linux(OpenGL 3)和MacOS(Metal)上运行。

4. PrettyErrors

https://github.com/onelivesleft/PrettyErrors

大道至简,这是一个值得让您思考的库:以前没人想过这是怎么回事?

PrettyErrors只做一件事并且做得很好。在支持彩色输出的终端中,它将隐秘的堆栈轨迹转换成更适合用微弱的人眼解析的东西。无需再扫描整个屏幕来查找异常的原因……您现在就可以一目了然!

5. Diagrams

https://github.com/mingrammer/diagrams

我们程序员喜欢用代码解决问题。但是有时,我们需要向其他同事解释复杂的架构设计。传统上,我们使用GUI工具,在其中我们可以处理图表和可视化以放入演示文稿和文档。但这不是唯一的方法。

Diagrams使您无需任何设计工具即可直接在Python代码中绘制云系统架构。它包含的图标支持多个云提供商(包括AWS,Azure,GCP)。这使创建箭头和组非常容易。真的,只有几行代码!

基于代码的图表的最好之处是什么?您可以通过git使用版本控制来掌控进度!

6. Hydra 和 OmegaConf

https://hydra.cc/ https://github.com/omry/omegaconf

在进行机器学习项目的研究和实验时,总是有无数的设置可以尝试。在非平凡解的应用程序中,配置管理会变得相当复杂,非常快。有一种结构化的方式来处理这种复杂性不是很好吗?

Hydra是一种工具,可让您以可组合的方式构建配置,并从命令行或配置文件覆盖某些部分。

为了说明可以通过该库简化的一些常见任务,假设有一个我们正在尝试的模型的基本体系结构,以及它的多种变体。使用Hydra,可以定义基本配置,然后运行多个作业,并进行以下更改:

python train_model.py variation=option_a,option_b
├── variation│   ├── option_a.yaml│   └── option_b.yaml├── base.yaml└── train_model.py

Hydra 的表亲 OmegaConf 为分层配置系统的基础提供了一致的API,并支持YAML,配置文件,对象和CLI参数等不同来源。

这是21世纪进行配置管理的必备条件!

7. PyTorch Lightning

https://github.com/PyTorchLightning/PyTorch-lightning

每一种提高数据科学团队生产力的工具都值得鼓励。没有理由让从事数据科学项目的人每次都重新发明轮子,反复思考如何更好地组织其项目中的代码,使用维护得不好的“ PyTorch 样板”,或者使用更高级别的抽象功能。

PyTorch Lightning 通过将科学与工程分离而有助于提高生产率。从某种意义上说,它使您的代码更简洁,有点像 TensorFlow 的 Keras。但是它仍然是PyTorch,您可以访问所有常用的API。

该库可帮助团队利用围绕组织的软件工程的良好实践和明确的组件职责来构建可轻松扩展,以在多个GPU,TPU和CPU上进行训练高质量代码。

一个可以帮助数据科学团队的初级成员产生更好结果的库,但是,由于整体生产力的提高,而且没有放弃控制权,更有经验的成员会喜欢它。

8. Hummingbird

https://github.com/microsoft/hummingbird

并非所有的机器学习都是深度学习。通常,您的模型由scikit-learn中实现的更传统的算法(例如,Random Forest)组成,或者您使用诸如流行的LightGBM和XGBoost之类的梯度增强方法。

但是,深度学习领域正在发生许多进步。像PyTorch这样的框架正在以惊人的速度发展,并且硬件设备已经过优化,可以更快地运行张量计算并降低功耗。如果我们可以利用所有这些工作来更快、更高效地运行传统方法,那岂不是很好吗?

这是Hummingbird的用武之地。微软提供的这个新库可以将训练有素的传统ML模型编译为张量计算。这很棒,因为它使您无需重新设计模型。

到目前为止,Hummingbird支持转换为PyTorch,TorchScript,ONNX和TVM,以及各种ML模型和矢量化器。推理API也与Sklearn范例非常相似,可让您重用现有代码,但将实现更改为Hummingbird生成的代码。这是一个值得关注的工具,因为它获得了对模式模型和格式的支持!

9. HiPlot

https://github.com/facebookresearch/hiplot

几乎每个数据科学家在职业生涯中的某个时候都曾处理过高维数据。不幸的是,人脑没有足够的连线直观地处理这种数据,因此我们必须诉诸其他技术。

今年初,Facebook发布了HiPlot,这是一个库,可使用并行绘图和其他图形方式来表示信息,从而帮助发现高维数据中的相关性和模式。该概念已在其发布博客文章中进行了解释,但基本上,它是一种可视化和过滤高维数据的好方法。

HiPlot具有交互性,可扩展性,您可以从标准Jupyter笔记本电脑或通过其自己的服务器使用它。

10. Scalene

https://github.com/emeryberger/scalene

随着Python库生态系统变得越来越复杂,我们发现自己正在编写越来越多的依赖C扩展和多线程的代码。在衡量性能时,这成为一个问题,因为CPython内置的探查器无法正确处理多线程和本机代码。

那就是Scalene进行救援的时候。Scalene是用于Python脚本的CPU和内存探查器,能够正确处理多线程代码并区分运行Python和本机代码所花费的时间。无需修改代码,只需要在命令行中使用scalene运行脚本,脚本就会为您生成文本或HTML报告,显示代码每一行的CPU和内存使用情况。

荣誉提名:

  • Norfair

https://github.com/tryolabs/norfair

Norfair是一个可定制的轻量级Python库,用于实时2D对象跟踪。使用Norfair,您只需几行代码就可以为任何检测器添加跟踪功能。

  • quart

https://gitlab.com/pgjones/quart/

一个兼容Flask API的异步Web框架。一些现有的Flask扩展程序甚至可以直接使用!

  • alibi-detect

https://github.com/SeldonIO/alibi-detect

监视生产模型中的异常值和分布漂移,以获取表格数据,文本,图像和时间序列。

  • einops

https://github.com/arogozhnikov/einops

einops于2020年普及,可让您编写张量操作以获得可读且可靠的代码,并支持numpy,PyTorch,TensorFlow等。

  • stanza

https://github.com/stanfordnlp/stanza

斯坦福提供的支持60多种语言的自然语言处理工具。针对不同任务的多个可用的预训练模型。

  • datasets

https://github.com/huggingface/datasets

来自HuggingFace的轻量级可扩展库,可轻松共享和访问数据集和自然语言处理(NLP)等评估指标

  • pytorch-forecasting

https://github.com/jdb78/pytorch-forecasting

借助神经网络简化了针对实际案例和研究的时间序列预测。

  • sktime

https://github.com/alan-turing-institute/sktime

提供了专用的时间序列算法和scikit-learn兼容工具,用于构建,调整和评估组合模型。还要检查其配套的sktime-dl软件包,以获取基于深度学习的模型。

  • netron

https://github.com/lutzroeder/netron

神经网络,深度学习和机器学习模型的可视化工具。支持的格式比我所知道的还要多。

  • pycaret

https://github.com/pycaret/pycaret

包装了几个常见的ML库,使您的工作效率大大提高,节省了数百行代码。

  • tensor-sensor

https://github.com/parrt/tensor-sensor

通过改善错误消息并提供可视化效果,帮助您正确确定张量数学的尺寸。

(0)

相关推荐

  • 献给 Python 开发人员的 25 个最佳 GitHub 代码库!

    以下为译文: 根据2020年StackOverflow开发者调查报告,Python是世界上最受欢迎的语言之一,排名仅次于Rust和TypeScript.更令人惊讶的是,Python是开发人员最想尝试的 ...

  • 2020年,那些「引爆」了机器学习社区的热门论文、库和基准

    仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 2020 年出现了哪些引爆机器学习社区的论文和库呢?哪些模型和方法登顶各领域基准排行榜呢?这篇文章给你答案. 不平凡的 2020 年终 ...

  • 【github干货】主流深度学习开源框架从入门到熟练

    言有三 毕业于中国科学院,计算机视觉方向从业者,有三AI学院等创始人 作者 | 言有三 编辑 | 言有三 今天送上有三AI学院第一个github项目 01 项目背景 目前深度学习框架呈百家争鸣之态势, ...

  • PyTorch语义分割开源库semseg

    今天跟大家介绍一款新出的基于PyTorch的语义分割开源库semseg: https://github.com/hszhao/semseg 其开发者为香港中文大学的博士生Hengshuang Zhao ...

  • 总结!Github年度最强Python库排行榜

    开源最前线(ID:OpenSourceTop) 整编 链接:https://tryolabs.com/blog/2020/12/21/top-10-python-libraries-of-2020/ ...

  • 谁是2020年最强Python库?年度Top10出炉

    蕾师师 发自 凹非寺 量子位 报道 | 公众号 QbitAI 2020年已经过去了,国外的一家专门提供Python服务的网站Troy Labs,盘点出了2020年发布的Python库Top10. 上榜 ...

  • 谁是 2020 年最强 Python 库?年度 Top 10 出炉!

    进击的Coder 1周前 蕾师师 发自 凹非寺  量子位 报道 | 公众号 QbitAI 2020 年已经过去了,国外的一家专门提供 Python 服务的网站 Troy Labs,盘点出了 2020 ...

  • 简直让人欲罢不能!820个ML Python库,star超260万,持续周更中...

    深度学习技术前沿 120篇原创内容 公众号 当你发愁找不到合适的开源项目时,有人已经悄悄地整理好了.今天要介绍的这个 GitHub 项目提供了大量机器学习 Python 库,覆盖机器学习框架.数据可视 ...

  • 终于把所有的Python库,都整理出来啦!

    Python爱好者社区 1周前 来源:法纳斯特 大家好,我是小五

  • Python库大全,建议收藏留用!

    学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...

  • 15个好用到哭的python库,真不错!

    为什么很多人喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和流行. 在本文中,我挑选了15个最 ...

  • 10大Python库介绍!

    现在转行学编程,很多人都会选择Python,很大一部分原因是因为Python具有丰富的第三方库,既可以帮助我们提高开发效率,还能够缩减代码量.那么你知道Python有哪些库吗?这里为大家介绍10个,总 ...

  • 终于把所有的 Python 库都整理出来啦

    来源丨法纳 常用库 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端 ...