本文首发于知乎,作者OpenMMLab

“Python 用户友好却运行效率低”,“C++ 运行效率较高,但实现一个功能代码量会远大于 Python”。平常学习工作中你是否常听到类似的说法?在 Python 大行其道的今天,你是否经常也会面临代码的瓶颈,而为运行加速而烦恼呢?“我的代码刚跑 10 步,隔壁同学的已经跑完第一个 epoch 了。”--这究竟是人性的扭曲还是科学的沦丧?荀子有言“君子性非异也,善假于物也”。本期《源码解读》带你走进 “Pytorch 中 (神秘) 的 C++ / CUDA 扩展"。

  • 本期主题:结合 Python 与 C++ 各自的优点,在 PyTorch 中加入 C++ / CUDA的扩展,而让我们自己更好地使用工具而不为工具所束缚。
  • 代码来源:MMCV, PyTorch
  • 注:C++ / CUDA 扩展一般有”预编译“ 与 ”实时编译“ (just-in-time, JIT)模式。本期主要介绍”预编译“模式。

感兴趣的可以继续戳原文。

内容中包含的图片若涉及版权问题,请及时与我们联系删除