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

相关推荐
Jorunk8 小时前
状态对齐是连接 GMM-HMM 和 DNN-HMM 的核心桥梁
人工智能·神经网络·dnn
袋鼠云数栈8 小时前
媒体专访丨袋鼠云 CEO 宁海元:Agent元年之后,产业需回到“数据+智能”的长期结构
大数据·人工智能
TF男孩8 小时前
一堆3D点,神经网络是怎么判断它是椅子的?
人工智能·神经网络
AI即插即用8 小时前
即插即用系列 | CVPR 2024 RMT:既要全局感受野,又要 CNN 的局部性?一种拥有显式空间先验的线性 Transformer
人工智能·深度学习·神经网络·目标检测·计算机视觉·cnn·transformer
changuncle8 小时前
Polyglot Notebooks环境安装及注册Python Kernel
人工智能
roman_日积跬步-终至千里8 小时前
【人工智能导论】04-推理-推理方法:从符号推理到不确定性推理
人工智能·人工智能导论
渡我白衣8 小时前
导论:什么是机器学习?——破除迷思,建立全景地图
人工智能·深度学习·神经网络·目标检测·microsoft·机器学习·自然语言处理
GodGump8 小时前
从 Yann LeCun 访谈看 AGI 幻觉:为什么大模型 ≠ 通用智能
人工智能·agi
gorgeous(๑>؂<๑)8 小时前
【南开大学-程明明组-AAAI26】一种用于多模态遥感目标检测的统一模型
人工智能·目标检测·计算机视觉
smile_Iris8 小时前
Day 45 简单CNN
人工智能·深度学习·cnn