3步跑通tinygrad深度学习框架

发布时间:2026/10/25 20:33:52
3步跑通tinygrad深度学习框架 3步跑通tinygrad深度学习框架【免费下载链接】tinygradYou like pytorch? You like micrograd? You love tinygrad! ❤️项目地址: https://gitcode.com/GitHub_Trending/tiny/tinygrad你用PyTorch写了几年但某个kernel慢了想查生成代码时只能看黑盒报错想在AMD卡或Mac的Metal上跑却得等社区适配。tinygrad是个完整的深度学习框架张量、自动求导、编译器、JIT全自带且整个代码库小到能一个周末读完、随便改。它到底能干什么✅ PyTorch风格的Tensor API.backward()、nn.Linear、训练循环写法都眼熟✅ 内置编译器连续的算子自动融合成一个kernel再用beam搜索BEAM逐参数试出最快组合挑最优版本✅ 多后端CPU、AMD、NV/CUDA、OpenCL、METAL、QCOM、WebGPU都有新设备只要实现约25个底层op就能接入✅ 训练和推理的完整示例都在 examples/MNIST、YOLOv8、Stable Diffusion、LLM推理✅ 编译器可读可改从计算图、kernel参数优化到生成的汇编每一层都是明码4步跑通第一个训练git clone https://gitcode.com/GitHub_Trending/tiny/tinygrad cd tinygrad python3 -m pip install -e . python3 examples/beautiful_mnist.py最后一条命令默认训练MNIST官方README写着约5秒达到98%。跑完顺手确认一下默认后端python3 -c from tinygrad import Device; print(Device.DEFAULT)7个最常改的环境变量参数默认值干什么用的DEV自动选指定后端如DEVCPU、DEVAMD、DEVNV:CUDADEBUG01-7级2每个kernel耗时4生成kernel代码7汇编JIT10关1开2开JIT但不用图执行BEAM-kernel参数搜索的beam数越大搜得越多VIZ01打开计算图可视化页面DEFAULT_FLOATFLOAT32默认浮点类型可设HALF、BFLOAT16等FLOAT1601图像相关计算走半精度一次backward背后的4个阶段建图Tensor算子全部惰性x.linear(w).relu()只是往计算图里记一笔不执行触发调.realize()或.numpy()时schedule把图切成若干kernel中间张量去重优化BEAM搜索给每个kernel试块大小、展开等参数组合留最快的渲染执行renderer把kernel翻译成C、LLVM、PTX、OpenCL、Metal等目标代码并编译JIT1时整个图被捕获后续调用直接重放不再重建3个按需打开的开关看生成的kernel代码→DEBUG4 python3 xxx.py判断算子有没有融合成想要的样子可视化计算图→VIZ1 python3 xxx.py逐op查看图结构加速重复前向→ 给前向加TinyJit装饰器参考 examples/beautiful_mnist.py注意JIT不支持变长输入和非tinygrad算子踩坑速查5个高频问题Q我怎么知道这次跑的是哪个后端python3 -c from tinygrad import Device; print(Device.DEFAULT)或直接用DEVCPU强制指定做对照。Q为什么第一次跑特别慢BEAM搜索首轮会对kernel做参数遍历BEAM越大越慢。推理场景保持JIT默认开启捕获后的重放会快很多。Q和torch结果对不上怎么办先DEBUG4看生成的kernel代码再换DEVCPU对照同形状算子库还没到1.0个别算子有已知差异测试目录里用expectedFailure标着。Q能加载PyTorch训好的权重吗标准格式是safetensorstinygrad/nn/state.py 里有safe_load/load_state_dictextra/models/ 里多数模型带load_from_pretrained底层是PyTorch权重需要装torch。Q为什么没有原地索引赋值load/store op原生不支持多后端移植太复杂跨熵这类操作用arange掩码等价实现日常模型基本遇不到。适合谁不适合谁适合想搞懂深度学习框架内部机制、还想自己改编译器的人硬件不是NVIDIA卡的AMD、Apple Silicon Metal、OpenCL、嵌入式QCOM、浏览器WebGPU教学与读码核心库不大autograd加调度全程可通读不适合需要稳定成熟的生产流水线官方明说还没1.0需要完整的vmap/pmap功能集已深度绑定PyTorch生态、没有换框架动机的继续深入跑通MNIST后examples/ 里的YOLO、Stable Diffusion、LLM推理可以直接照着跑完整参数表在 docs/env_vars.md完整的训练走查教程在 docs/quickstart.md。【免费下载链接】tinygradYou like pytorch? You like micrograd? You love tinygrad! ❤️项目地址: https://gitcode.com/GitHub_Trending/tiny/tinygrad创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询