Python 项目中的 Rust 示例 拥抱脸部标记器

Enhancing business success through smarter korea database management discussions.
Post Reply
suchona.kani.z
Posts: 162
Joined: Sat Dec 21, 2024 5:59 am

Python 项目中的 Rust 示例 拥抱脸部标记器

Post by suchona.kani.z »

另一个库是 rust-cpython。与 PyO3 一样, rust-cpython允许Python 和 Rust 之间的交互,但重点略有不同。虽然 PyO3 试图使 Python 的互操作性尽可能简单,但 rust-cpython 更专注于提供类似 Python 的 API。不过,该项目现已停止,建议使用 PyO3 代替。


Tokenizers 是一个 Python 库,可实现自然语言文本的高效标记化。许多自然语言处理库都使用它,包括 Hugging Face Transformers 和 spaCy。 Tokenizers 使用 Rust 编程语言来实现其性能关键组件,例如字节级编码和解码。 Aleph Alpha 还用 Rust 编写了它的 tokenizer。使用 Rust 可以让分词器在保持内存安全的同时实现高性能。尽管 Tokenizers 是用 Python 编写的,但 Rust 仅用于性能关键的部分。这种方法将 Python 的灵活性和简单性与 Rust 的速度和安全性结合起来,实现了自然语言文本的高效和安全处理。

在 Python 中使用的示例,但其背后是 Rust 实现:


近年来,JavaScript 开发者社区在提高其软件的执行速度方面表现出了非 医院联系清单 凡的承诺。 Python 开发者社区是时候考虑类似的战略方向了。用 Rust、Go 和 Zig 等更强大的编程语言开发的“swc”、“esbuild”、“Bun”和“Rome”等工具显着提高了 JavaScript 工具链的性能。这种协同努力通常被称为 JavaScript 工具链的“Rust 认证”,表明 Python 工具也可以利用来提高性能的巨大潜力。

Charlie Marsh 通过展示“Ruff”证实了这一点,这是一个用 Rust 编写的 Python linter。事实证明,Ruff 比同类工具快得多:比 macOS 上的 Flake8 快约 150 倍(或者在启用 Flake8 多处理时快约 25 倍),比 pycodestyle 快约 75 倍,比 pyflakes 和 pylint 快约 50 倍。尽管 Ruff 是用 Rust 开发的,但它可以无缝集成到 Python 环境中,并且可以像任何其他基于 Python 的命令行工具一样使用“pip install”命令进行安装。这是由于 Ruff 中使用了 Python 绑定。

Ruff 的结果强调了混合使用 Rust 和 Python 的好处,并为优化 Python 工具链开辟了新途径。他们强化了这样的想法:“生锈化”已经在 J​​avaScript 社区中带来了令人印象深刻的性能提升,也可能在 Python 社区中获得关注。
Post Reply