简单聊聊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只是与一般的神经网络思路相同,包含前向传播和反向传播两个过程。并没有卷积等提取图像特征的工作,取而代之的是图像的光栅化技术。

相关推荐
EIConferenceEmma2 分钟前
9月份海口站,第二届人工智能、人机交互与自然语言处理国际学术会议(ICAHN 2026)
人工智能·自然语言处理·人机交互
码农学院2 分钟前
GEO团队SOP、绩效考核与知识沉淀:技术团队管理体系化工程实践
运维·人工智能·windows
小保CPP4 分钟前
OpenCV C++基于极值区域滤波算法的场景文本检测(OCR)
c++·人工智能·opencv·算法·计算机视觉·ocr
lichuangcsdn7 分钟前
【Spring AI 学习(三)】实现简单的对话
java·人工智能·学习·spring·spring ai
心念枕惊13 分钟前
零基础认识大语言模型(LLM)工作原理(9.从聊天机器人到智能体:AI 为什么必须学会完成任务?)
人工智能·语言模型·机器人
IT_陈寒13 分钟前
Python的finally居然不等同于Go的defer,差点坑惨我
前端·人工智能·后端
码农学院14 分钟前
GEO效果度量体系:AI搜索可见性、引用率与转化追踪的技术实现
人工智能·dubbo
恋猫de小郭14 分钟前
给 AI 的 Agent 实现指南,可控 Agent 的关键
前端·人工智能·ai编程
AI导出鸭PC端17 分钟前
手机deepseek怎么导出pdf AI导出鸭
人工智能·pdf