欲了解更多精彩,请查看 .
这是一个精选的资源列表,包含开发机器学习解决方案所需的一切。
此列表中的每一项都会教您至少一项独特且重要的技能或信息。
内容分为三个级别:
?所有机器学习工程师的必备读物
?专业机器学习工程师的进阶读物
?为专家 ML 工程师提供的专家材料
编写描述是为了完成句子“阅读本文后,您将学到......” 。
沟通
软件工程
机器学习
开发运营
BLUF:可以让您的写作更有力的军事标准 - 如何让您的沟通更有力(5 分钟)
XY 问题 - 在寻求帮助时如何专注于解释您的最终目标(5 分钟)
自行车脱落:作为一名工程师,你有多成熟? - 如何避免和发现自行车脱落(5 分钟)
像老板一样发送电子邮件 - 如何撰写更好的电子邮件(5 分钟)
停止瑞士人打乱您的日历 - 如何管理您的日历以便您可以集中精力(15 分钟)
如何用简单的英语写作 - 如何用简单的英语写作(30 分钟)
演示规则 - 如何创建出色的幻灯片(30 分钟)
SMART 标准 - 如何定义目标(15 分钟)
MECE 原则 - 如何将问题完全分解为结构化列表(15 分钟)
SCQA:它是什么,它是如何工作的,它对我有什么帮助? - 如何构建您的演示文稿、提案和销售大纲(15 分钟)
不再有误解 - 如何通过释义避免误解(15 分钟)
非暴力沟通 - 如何在困难情况下提供建设性反馈(15 分钟)
光环效应 - 如何识别并利用光环效应为您带来优势(15 分钟)
神话人月 - 项目中的人日和吞吐量时间之间的关系(15 分钟)
四面模型 - 如何通过考虑接收者如何解释您的信息来进行有效沟通(30 分钟)
语义版本控制 - 如何提高应用程序和软件包的版本(15 分钟)
Python 中的__all__
和野生导入 - __all__
如何定义 Python 包的公共 API(15 分钟)
用于机器学习的 API - 如何为机器学习应用程序设计 RESTful API(30 分钟)
FastAPI 文档 - 如何构建与 OpenAPI 规范一一对应的 RESTful API(1 天)
三法则 - 何时构建可重用组件、何时不构建(15 分钟)
程序员对时间的误解 - 如何避免关于时间的常见陷阱(15 分钟)
程序员对名称的误解 - 如何避免有关名称的常见陷阱(15 分钟)
命令行界面指南 - 如何编写出色的 CLI(1 小时)
Zalando 的 RESTful API 指南 - 如何设计 RESTful API(1 天)
Poetry Cookiecutter - 如何为 Python 包和应用程序构建基于 Poetry 的现代开发环境(30 分钟)
优秀 Git 提交消息的七个规则 - 如何编写优秀 Git 提交消息(15 分钟)
学习 Git 分支 - 从初级到高级练习 Git(1 小时)
保留变更日志 - 如何保留应用程序和软件包的变更日志(30 分钟)
传统提交 - 如何为提交消息添加前缀以自动进行语义版本控制并保留变更日志(15 分钟)
使用 Pytest 测试 Python 应用程序 - 如何使用 pytest 正确测试包(30 分钟)
成功的 Git 分支模型 - 如何使用 Git 发布软件(15 分钟)
代码审查最佳实践 - 审查 Pull 请求时要注意什么(30 分钟)
代码健康:尊重的评论 == 有用的评论 - 如何尊重地传达代码审查意见(15 分钟)
代码审查金字塔 - 审查 Pull 请求时要寻找什么以及要自动化什么(15 分钟)
Poetry 工作区插件 - 如何创建和管理基于 Poetry 的 monorepo(15 分钟)
PEP20“Python 之禅” - 如何编写惯用的 Python(15 分钟)
Python import 语句权威指南 - 如何编写 import 语句(30 分钟)
了解 Python 的日志记录模块 - 如何有效地使用logging
模块(30 分钟)
不要在导入时运行代码 - 为什么不应在导入时运行代码
请修复你的装饰器 - 为什么你应该使用wrapt
来编写你的装饰器(30分钟)
不记录 - 您应该做什么来代替记录(30 分钟)
The Little Book of Python Anti-Patterns - Python 反模式合集(X 小时)
有效Python - Python习语合集(X小时)
Python 设计模式 - 软件架构模式合集(1 小时)
SOLID - 一套标准的软件架构模式(1 小时)
什么他妈的Python! - 如何通过了解 Python 的边缘情况来掌握 Python(1 天)
mypy 综合指南 - 如何在 Python 中编写类型注释(1 小时)
Pydantic 概述 - 如何为复杂类型编写类型注释而不是无意义的Dict[str, Any]
(1 小时)
幻数 - 为什么幻值是一种反模式(15 分钟)
Enums - 如何在 Python 中编写Enum
而不是类型不安全的魔法值(15 分钟)
Mypy 泛型 - 如何使用TypeVar
编写泛型类型,例如List[T]
(30 分钟)
Mypy 协议 - 如何使用Protocol
定义Iterable
等接口(30 分钟)
cookiecutter - 使用 Cookiecutter 模板快速搭建新的 Python 包或应用程序
cruft - 更新 Python 包的底层 Cookiecutter 脚手架
commitizen - 检查提交消息是否满足常规提交并自动执行语义版本控制并保留更改日志
诗歌 - 管理 Python 项目的打包和依赖项
poe - 使用 Poe the Poet 在 Poetry 项目中定义和运行任务
诗歌工作空间插件 - 使用此诗歌插件管理 Python monorepo
黑色 - 自动格式化您的代码
isort - 自动对导入语句进行排序
预提交 - 在提交时自动运行代码质量检查
bandit - 查找常见的安全问题
darglint - 检查您的文档字符串是否与您的函数签名匹配
flake8 - 检查您的代码是否有错误以及您的代码风格是否符合 PEP8
flake8 扩展 - Flake8 扩展的精彩列表
mypy - 检查代码的类型正确性
预提交挂钩 - 检查文件质量的预提交挂钩的集合
pydocstyle - 检查您的代码是否已记录
pygrep hooks - 检查常见 Python 代码味道的预提交钩子集合
pytest-recording - 在 pytest 测试中记录和回放 HTTP 请求
? pyupgrade - 检查您的代码是否是使用最新的 Python 语言功能编写的
?安全 - 检查您的依赖项是否存在任何已知的安全漏洞
? shellcheck - 检查 shell 脚本的质量
? coverage.py - 检查代码的测试覆盖率
?假设 - 编写自动查找破坏代码的边缘情况的测试
? Hypothesis-auto - 根据代码的类型注释自动生成假设测试
? fastapi - 基于类型注释创建 RESTful API
? typer - 基于类型注释创建 CLI
? Streamlit - 使用单个 Python 文件创建 Web 应用程序
? Bump2version - 发布软件包的新版本
? colorlogs - 用颜色提高日志的可读性
? hvplot - 从 pandas 数据帧创建交互式绘图
? mkdocs - 为您的项目创建开发人员文档
? pdoc - 为您的代码生成 API 文档
? Birdseye - 以图形方式调试您的 Python 代码
? scalene - 按行分析代码的 CPU 和内存使用情况
? viztracer - 使用火焰图可视化代码的性能
? tqdm - 轻松为长时间运行的作业添加进度条
?偏差-方差权衡 - 模型的总误差如何等于偏差和方差之和(30 分钟)
?交叉验证的两种不同用途 - 如何使用嵌套交叉验证来结合交叉验证的两种不同用途(30 分钟)
?众数、中位数和均值:统一的视角 - 为什么最小化平均绝对误差 (MAE) 比最小化均方误差 (MSE) 更稳健(30 分钟)
?反向传播是计算梯度的链式法则 - 反向传播如何是计算目标函数梯度的算法(30 分钟)
?堆叠泛化 - 如何堆叠模型(30 分钟)
?我们对 t-SNE 和 UMAP 使用了错误的初始化 - 如何正确初始化 t-SNE 和 UMAP(15 分钟)
?从经典的全连接网络到 Transformers - 神经网络如何从全连接网络演变为 Transformers(30 分钟)
? .632+ 规则是什么? - 如何通过引导来衡量泛化性能(30 分钟)
?有泄漏和无泄漏的堆叠策略 - 堆叠模型的不同策略(30 分钟)
?数据分布变化和监控 - 如何检测和解决不同类型的数据变化(1 小时)
?反向传播不仅仅是链式法则 - 反向传播与拉格朗日乘子的关系(30 分钟)
?为什么 ML 算法难以调整 - 当 Pareto 前沿为凹时优化多个目标(30 分钟)
?深度学习模型压缩 - 如何使用量化、剪枝和蒸馏来压缩模型(30 分钟)
? SHAP:SHApley Additive exPlanations - 如何用 Shapley 值解释模型的输出(30 分钟)
? Shapley 和 SHAP 简介 - 如何通过 SHAP 近似 Shapley 值(30 分钟)
? UMAP:统一流形逼近和投影 - 如何降低可视化和建模的维度(30 分钟)
? PyNNDescent - 如何在巨大的数据集中找到最近的邻居(15 分钟)
?精确度和召回率 - 精确度和召回率如何衡量分类器的性能(30 分钟)
?概率校准 - 应如何以及针对哪些模型类型将模型的输出分数校准为概率(30 分钟)
?你们都错误地计算了流失率 - 正确定义什么是流失(30 分钟)
?高斯过程 - 从头开始 - 如何使用高斯过程构建概率回归模型(1 小时)
? Microsoft 的 Document Image Transformer - 一种自监督预训练模型,可在 PubLayNet 上实现 SotA 性能,并可用于各种下游任务(30 分钟)
? Awesome Sentence Embedding - 预训练句子和单词嵌入模型的精选列表(15 分钟)
? Prophet 模型 - Meta 的 Prophet 模型如何将时间序列分解为趋势、季节性和假日成分(30 分钟)
? Darts - 用 Python 轻松实现时间序列 - 如何使用darts
构建预测模型(1 小时)
? Microsoft Recommenders - 推荐系统模型比较(30 分钟)
?我希望有人告诉我有关张量计算库的信息 - JAX、PyTorch、TensorFlow 和 Theano 有何不同(30 分钟)
?现代熊猫系列(第 1 - 7 部分)- 写惯用的熊猫(1 小时)
? Awesome Pandas - 很棒的 Pandas 资源列表(1 小时)
?使用 scikit-learn Pipelines 和 FeatureUnions - 如何使用Pipeline
构建端到端模型(30 分钟)
?在回归中转换目标 - 如何转换目标以构建更稳健的模型(15 分钟)
?用于异构数据的 ColumnTransformer - 如何使用ColumnTransformer
在 sklearn Pipeline
中处理 pandas DataFrame(30 分钟)
?自定义估算器 - 创建您自己的自定义Estimator
(30 分钟)
?连续减半的超参数优化 - 如何使用计算效率最高的方法优化超参数(30 分钟)
? Doccano - 用于标记文本的工具(30 分钟)
? CVAT:计算机视觉注释工具 - 用于标记图像的工具(30 分钟)
?很棒的数据标签 - 很棒的数据标签工具列表(30 分钟)
?调用 - 如何实现作为 CLI 在项目上运行的常见任务(30 分钟)
? poe - 如何实现作为 CLI 在项目上运行的常见任务(30 分钟)
? Python with Poetry 的打包和依赖项管理简介 - 如何管理 Python 包的依赖项和环境(30 分钟)
?用于机器学习的 Pyenv 简介 - 如何使用 pyenv 管理 Python 解释器(30 分钟)
?现代 Python 环境 - 依赖项和工作区管理 - pyenv、venv + pip、venv + pip-tools、poetry、pipenv 和 conda 之间的比较(30 分钟)
? Conda:神话和误解 - 关于 Conda 的常见误解(15 分钟)
? Docker 课程 - 如何使用 Docker(4 小时)
? Docker 层缓存 - 如何编写 Dockerfile 以从层缓存中受益(30 分钟)
? Dockerfile 最佳实践 - 如何编写好的 Dockerfile(1 小时)
?为 Docker 配置 Gunicorn - 如何为 Docker 映像最佳配置 Gunicorn(30 分钟)
?使用 BuildKit 的新缓存加速 Docker - 如何使用构建缓存加速 Docker 构建(30 分钟)
?在 Docker 和 Compose 中构建机密,安全的方式 - 如何在 Docker 构建中使用机密(15 分钟)
? Python 和 Docker 的安全扫描器 - 如何扫描 Docker 映像以查找代码和 Docker 映像的安全问题(30 分钟)
?喊狼来了的安全扫描器 - 如何扫描 Docker 映像中的安全问题而不出现误报(15 分钟)
? Awesome Docker - 很棒的 Docker 资源列表(30 分钟)
?远大的期望 - 如何测试和记录您的数据和数据管道(30 分钟)
? Cron 最佳实践 - 如何最好地使用 cron 来安排任务(30 分钟)
? SSH 隧道可视化指南 - 如何使用 SSH 转发端口和创建隧道(30 分钟)
?在 bash 中安全地执行操作 - 如何编写安全且健壮的 shell 脚本(1 小时)
?您的终端不是终端:流简介 - 您的终端如何成为操作流的工具(30 分钟)
? Bash Heredoc - 如何使用 Heredoc 将多行参数传递给命令(30 分钟)
?请停止编写 shell 脚本 - 为什么不应为 CI/CD 或 Docker 映像编写 shell 脚本(30 分钟)
? Terraform 简介 - 如何使用 Terraform(1 小时)
? Terraform 最佳实践 - Terraform 最佳实践(1 小时)
? Terraform 预提交挂钩集合 - 如何通过预提交自动化 Terraform 代码质量检查(1 小时)
? Awesome Terraform - 很棒的 Terraform 资源列表(30 分钟)
? Terraform 教程 - 如何开始使用 Terraform(1 小时)
?将 Redis 内存存储用于您的 Python 应用程序 - 如何使用 Redis 作为 Python 应用程序的内存缓存(30 分钟)
? Python Kafka 消费者:至少一次、最多一次、恰好一次 - 如何用 Python 编写不同类型的 Kafka 消费者(30 分钟)
? Kafka Exactly-Once-Semantics - 如何仅生产和消费消息一次(1 小时)
? RabbitMQ:具有持久性的消息队列库 - RabbitMQ 是具有消息代理的消息系统(4 小时)
? ZeroMQ:带有消息队列原语的套接字库 - ZeroMQ 是一个没有消息代理的轻量级消息系统(8 小时)
Super Linear 是一家总部位于比利时的机器学习公司。
我们发明、设计和开发人工智能驱动的软件。我们与客户一起确定组织内的哪些问题可以通过人工智能解决,展示人工智能对每个问题的价值。
我们的团队不断寻找新颖且性能更好的解决方案,我们互相挑战,为我们的客户和我们的公司提出最好的想法。
以下是我们利用机器学习(人工智能背后的技术)所做的一些示例:
帮助求职者找到符合他们期望的好工作。在比利时公共就业服务网站上,您可以仅根据您的简历找到我们的工作推荐。
帮助医院节省时间。我们从患者出院信中提取诊断结果。
通过检测山寨文章帮助出版商评估其影响。
我们一起努力工作,一起享受乐趣。我们培养一种协作文化,让每个团队成员在接受挑战时感受到支持,在承担责任时感受到信任。