Dynamic Graph CNN for Learning on Point Clouds代码调试

本文档详细记录了Dynamic Graph CNN (DGCNN)在处理点云数据时的模型初始化和训练流程测试。从GF模块、FA模块到DGCNNHead的各个组件,包括QueryAndGroup方法的使用,以及在训练过程中关键参数的设置,如EncoderDecoder3D、DGCNNBackbone和DGCNNHead的功能。通过这个调试过程,可以深入理解DGCNN在点云学习任务中的工作原理。
摘要由CSDN通过智能技术生成
声明
代码:源自MMDetection3D
论文题目:Dynamic Graph CNN for Learning on Point Clouds
论文连接:https://par.nsf.gov/servlets/purl/10124348
测试环境:PyTorch 1.9.0 Python 3.8(ubuntu18.04) Cuda 11.1
测试文件:dgcnn_32x4_cosine_100e_s3dis_seg-3d-13class-area1.py
测试数据集:S3DIS Seg Dataset

1.模型初始化

1.1GF模块

在这里插入图片描述

1.2FA模块

在这里插入图片描述

1.3Decode_head在这里插入图片描述

2.训练流程测试

2.1配置文件

①.分割器使用的EncoderDecoder3D;主干网络DGCNNBackbone;头部DGCNNHead
②.data中samples_per_gpu=32表示batch;采样点数num_points=4096;

2.2EncoderDecoder3D
def forward_train(self, points, img_metas, pts_semantic_mask):

①.输入的数据points:类型list-32,大小(4096,9);img_metas: 类型list-32,每个元素为dict-2pts_semantic_mask:类型list-32,大小(4096,)

points_cat = torch.stack(points)
pts_semantic_mask_cat = torch.stack(pts_semantic_mask)

②.points_cat:(32,4096,9); pts_semantic_mask_cat: (32,4096)

x = self.extract_feat(points_cat)

③.调用EncoderDecoder3D中提取特征的方法,进入backbone中

def extract_feat(self, points):
	x = self.backbone(points)
	......

进入DGCNNBackbone

2.3DGCNNBackbone
def forward(self, points):
	gf_points = [points]
	......

①.前向传播,gf_points:list类型,元素大小(32,4096,9)

for i in range(self.num_gf):
	cur_points = self.GF_modules[i](gf_points[i])
	gf_points.append(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学一点@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值