Repolode
duoan

duoan/TorchCode

用于从零实现 PyTorch 算子与模型结构的交互式练习平台,基于 Jupyter 自动评测。

可替代:LeetCode

Star
4,695
Fork
420
未关闭 Issue
16
最近提交
3个月前

这是什么?

TorchCode 是一套包含 41 道题目的 PyTorch 练习集,形式类似 LeetCode。每道题要求你从零实现一个常见算子或模型组件,例如 softmax、LayerNorm、多头注意力、RoPE、LoRA 或 GPT-2 Block,通常不借助 torch.nn。题目以 Jupyter Notebook 形式提供,附带空白模板和单独的参考答案。

内置的评测模块 torch_judge 会用测试用例检查你的实现:使用 torch.allclose 验证数值正确性,通过 autograd 检查梯度是否正常回传,并测试形状一致性和边界情况,逐条给出通过或失败的结果。笔记本中可调用提示和进度面板,工具栏的重置按钮可将题目恢复为空白模板。

项目以单个 Docker 或 Podman 容器运行,只需 CPU,无需 GPU 或数据库。也可以直接在 Hugging Face Spaces 或 Google Colab 中打开,并通过 PyPI 安装评测包。仓库还提供基于 Next.js 和 FastAPI 的独立网页界面作为替代入口。

核心功能

  • 01共 41 道题,涵盖基础算子、注意力变体、Transformer 模块、训练优化、解码策略和偏好学习损失函数。
  • 02自动评测检查输出正确性、梯度回传、张量形状和边界情况,并逐条返回通过或失败结果。
  • 03每道题提供提示和参考答案。
  • 04工具栏重置按钮可将笔记本恢复为空白模板,便于反复练习。
  • 05可在 CPU 上以单个 Docker 或 Podman 容器运行,也可直接在 Google Colab 中使用。

适用场景

  • 准备要求手写 PyTorch 算子的机器学习工程师面试。
  • 通过不依赖高层封装的手动实现,理解 softmax、注意力、归一化或 LoRA 的工作原理。
  • 在没有 GPU 的笔记本上练习张量操作和自动求导。
  • 借助 Colab 链接在课堂或学习小组中开展配套练习。

快速上手

  1. 1

    拉取并运行预构建的 Docker 镜像

    docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest
  2. 2

    在浏览器中打开应用

使用前须知

  • 需要 Docker 或 Podman,或通过 make 进行本地构建。
  • 评测器运行在 Jupyter 中,主要面向 PyTorch 练习。
  • 项目元数据中未指明许可证。

标签

常见问题

TorchCode 是什么?
用于从零实现 PyTorch 算子与模型结构的交互式练习平台,基于 Jupyter 自动评测。 TorchCode 是一套包含 41 道题目的 PyTorch 练习集,形式类似 LeetCode。每道题要求你从零实现一个常见算子或模型组件,例如 softmax、LayerNorm、多头注意力、RoPE、LoRA 或 GPT-2 Block,通常不借助 torch.nn。题目以 Jupyter Notebook 形式提供,附带空白模板和单独的参考答案。
TorchCode 可以免费使用吗?用的什么许可证?
TorchCode 没有声明许可证。代码虽然公开,但没有许可证就没有明确的使用授权,正式使用前建议先联系作者。
TorchCode 还在维护吗?
半年内有更新。TorchCode 最近一次提交是在 2026年7月31日。
TorchCode 适合用来做什么?
准备要求手写 PyTorch 算子的机器学习工程师面试。 通过不依赖高层封装的手动实现,理解 softmax、注意力、归一化或 LoRA 的工作原理。 在没有 GPU 的笔记本上练习张量操作和自动求导。 借助 Colab 链接在课堂或学习小组中开展配套练习。
TorchCode 怎么安装和运行?
拉取并运行预构建的 Docker 镜像: docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest 在浏览器中打开应用
在哪里获取 TorchCode?
源代码和安装说明在 GitHub 上:https://github.com/duoan/TorchCode

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目