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

相关推荐
Agentcometoo15 小时前
智能体来了从 0 到 1:规则、流程与模型的工程化协作顺序
人工智能·从0到1·智能体来了·时代趋势
工程师老罗15 小时前
什么是目标检测?
人工智能·目标检测·计算机视觉
jarreyer16 小时前
【AI 编程工具】
人工智能·编程工具
阿杰学AI16 小时前
AI核心知识75——大语言模型之MAS (简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·agent·多智能体协作·mas
小程故事多_8016 小时前
深度搜索Agent架构全解析:从入门到进阶,解锁复杂问题求解密码
人工智能·架构·aigc
朴实赋能16 小时前
AI赋能文旅出海:智矩引擎(MatriPower)社媒矩阵破局与流量长效增长实操指南
人工智能·社媒矩阵·matripower·文旅出海·海外社媒引流·文旅ip出海·智矩引擎
许泽宇的技术分享16 小时前
第 1 章:认识 Claude Code
开发语言·人工智能·python
是小蟹呀^16 小时前
ResNet网络结构(ResNet18)
深度学习
沃达德软件16 小时前
图像处理与复原技术
图像处理·人工智能·深度学习·神经网络·目标检测·计算机视觉·目标跟踪
坐在地上想成仙16 小时前
人工智能商业落地思考:从人类行为图谱到技术栈映射
人工智能