简单聊聊3D高斯与传统深度学习在使用CUDA时的不同

本文参考链接:

https://www.youtube.com/watch?v=1buFrKUaqwM

最近在看3D高斯的源代码,发现其中submodules文件夹下有许多的.cu文件。进一步的,发现其中的代码是使用C++实现的,且涉及对CUDA核心的直接使用。代码用CUDA直接实现了3D高斯实验中的一些计算问题。如计算3D高斯在二维屏幕上的投影、将投影转化成近似圆、计算tile等操作...

令我疑惑的是3DGS的源代码明明使用了Pytorch,这些涉及算法核心原理的步骤为什么不直接使用pytorch实现,为什么会多出这些.cu源码?

原来,Pytorch之所以称为"深度学习框架",是因为pytorch是一种更高层的封装,pytorch集成了许多在深度学习中使用的算子,如卷积、池化、激活函数等。这些算子显然在一般的深度学习任务中能够非常方便的使用,提高工作效率。

3DGS与此的不同之处在于,3DGS是一门渲染技术,本质上并不涉及这些常规的深度学习算子 操作。3DGS为了能够使用GPU进行并行运算,其源码部分进行了自定义的算子,这些算子能够实现3DGS所需要的光栅化操作。

而在整个代码的外层,仍是由pytorch进行对接,而核心的计算部分,是自定义的算子。而非pytorch本身集成的算子。

所以本质上,3DGS只是与一般的神经网络思路相同,包含前向传播和反向传播两个过程。并没有卷积等提取图像特征的工作,取而代之的是图像的光栅化技术。

相关推荐
qq_45424503几秒前
从 UI 操作到环境交互:一种通用元命令自动化协议的设计与意义
人工智能·ui·自动化·交互
love530love4 分钟前
f2 项目(多平台的作品下载与接口数据处理)源码部署记录
人工智能·windows·f2
七夜zippoe4 分钟前
OpenClaw Skills 高级开发指南
服务器·网络·人工智能·skills·openclaw
格林威15 分钟前
工业视觉检测:提供可视化UI调试工具的实现方式是什么?
开发语言·人工智能·数码相机·ui·计算机视觉·视觉检测·工业相机
TImCheng060919 分钟前
零基础AI认证学习路径:线上课程与考试机制分析
人工智能
捧 花20 分钟前
Claude Code 使用指南
人工智能·claude·claude code·superpower
量子-Alex21 分钟前
【大模型】监督微调与强化学习:大型语言模型后训练方法的研究
人工智能·语言模型·自然语言处理
暗夜猎手-大魔王24 分钟前
转载--AI Agent 架构设计:记忆污染(OpenClaw、Claude Code、Hermes Agent 对比)
人工智能
2zcode25 分钟前
面向健身与康复训练的基于深度学习的人体姿态检测与动作纠正系统
人工智能·深度学习·智能电视
HIT_Weston25 分钟前
66、【Agent】【OpenCode】用户对话提示词(Agent 主动性)
人工智能·agent·opencode