你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
微信 | 博客 | 邮件 | Github | Telegram | Twitter
原文:https://pythoncat.top/posts/2023-09-09-weekly
🦄文章&教程
Mojo 语言是今年发布的“高性能的 Pyhton++”,周刊第 17 期刚分享过它获得了 1 亿美元融资,这周它就发布了 Linux 版本的安装包。除了编译器功能,它还提供了一些 IDE 工具(终端 shell、VS Code 插件、Jupyter 内核),暂不支持调试,暂无 Mac 和 Windows 版本。
PEP-703 是 no-gil 项目的提案,我们曾多次介绍过。作者讨论了该 PEP 中的一些话题,例如尽量少依赖原子操作的引用计数、延迟的引用计数、gc 不再会分代、对象锁等,从中能看出 Python 社区在性能和兼容性上的权衡。
3、用 500 行 Python 代码写一个 C 语言编译器
实现一个 C 语言编译器需要多少行 Python 代码?文章介绍了编译器的架构、代码解析与生成流程,尝试用 500 行代码实现了一个简易的 C 编译器。
协议缓冲区(Protocol buffer)是一种与语言无关的数据序列化格式,类似于 Python 的 pickle 格式。文章介绍了如何用 Python 创建与编译协议缓冲区文件,并与支持该协议的其它语言进行通信。
5、用 Python 和 matplotlib 创建漂亮的极坐标直方图
极坐标直方图(Polar Histogram)是一种用于可视化和分析数据分布的图表形式,它将数据划分为多个扇区,每个扇区的长度或面积表示该角度范围内数据的频率或数量。文章介绍了如何 Python 绘制极坐标直方图。
布隆过滤器(Bloom Filter)是一种数据结构,可用于快速判断一个元素是否存在于一个集合中,场景的使用场景:去重、缓存与快速查询、防止缓存穿透、过滤垃圾邮件等。文章介绍了它是什么、如何操作、Python 实现、如何调整布隆过滤器等。
堆(Heap)是一种重要的数据结构,常用于快速访问最值、堆排序、调度与分配任务、图算法、数据压缩与编码等。文章介绍了它的基本概念、如何用 Python 实现最大堆和最小堆、它们的区别。
容器是一种轻量级的虚拟化技术,可实现 Python 程序的高效打包与部署。Red Hat 的这篇教程介绍了如何用 Podman 来构建、运行和管理 Python 容器。
这篇文章梳理了当前 Python 包管理时比较适用的一些最佳实践,例如使用 pyproject.toml、使用 setuptools 作分发和构建工具、用 Sphinx + reStructuredText + sphinx-rtd-theme 编写文档、用 CHANGELOG 列出版本更改、使用 black 和 flake8 等。
作者使用 Airflow 作为任务调度器,上线后每隔一段时间就出现 Scheduler 内存 OOM 问题,这篇文章详细记录了问题定位分析的过程。介绍了三个工具:objgraph、pympler、tracemalloc。
作者认为标准库logging
比较难用,加上在程序错误时经常会缺少必要的日志,因此开发了 flake8-logging 插件。它有 12 条规则,这篇文章介绍了 3 条:使用 logging.getLogger() 实例化记录器、在异常处理时使用 exception()、避免预先格式化日志信息。
12、Falcon 180B 正式在 Hugging Face Hub 上发布
Falcon 作为当前最大的开源大模型,有 180B 参数并且是在在 3.5 万亿 token 的 TII RefinedWeb 数据集上进行训练,是目前开源模型里最长的单波段预训练。文章介绍了它的优势以及入门使用。
🎁Python潮流周刊🎁已免费发布了 19 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
原文:https://pythoncat.top/posts/2023-09-09-weekly
🐿️项目&资源
1、pkuseg-python:多领域中文分词工具,比 jieba 准确性更高
不同于其它通用中文分词工具,它支持多领域分词、有更高的分词准确率、支持用户自训练模型、支持词性标注。准确性超过 jieba、THULAC 两个中文分词工具。(star 6.2K)
在命令行终端里制作和展示 presentation,支持标题、颜色、主题、放大、解释、快捷键等功能。
导入个人的语料库后,可以用缩写方式输入长串的内容。使用了 Autokey 来实现 Linux 的键盘快捷键。(star 1.3K)
一个使用 NLP 和 ML 构建聊天机器人的框架,轻松开发和部署 Web 应用。计划集成短信、本地集成大语言模型(Claude、Llama)。(star 1.2K)
功能丰富的 feed 阅读器,支持检索、存储和管理 Atom、RSS 和 JSON 源,支持标记文章为已读或重要、支持过滤 feed 和文章、支持全文搜索、支持统计用户活动、支持插件。
百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。在通用、法律、医疗、数学、代码和多语言翻译六个领域的中英文和多语言权威数据集上对模型进行了广泛测试。
Python 的依赖注入容器,提供了一个注册类型/接口工厂的机制,通过自动清理和运行状况检查强制获取这些类型的实例。使用依赖注入和服务定位来实现控制反转,消除大量重复的样板代码。
8、gpt_academic: 为 ChatGPT/GLM 提供实用化交互界面
GPT 学术优化,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持 Python 和 C++ 等项目剖析&自译解功能,PDF/LaTex 论文翻译&总结功能,支持并行问询多种 LLM 模型,支持 chatglm2 等本地模型。兼容文心一言, moss, llama2, rwkv, claude2, 通义千问, 书生, 讯飞星火等。(star 41K)
原文:https://pythoncat.top/posts/2023-09-09-weekly
🐱赞助&支持
如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~
如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道
如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。