![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码阅读
文章平均质量分 91
南徐炼丹大师
这个作者很懒,什么都没留下…
展开
-
代码阅读记录(8)—pointnet2_part_seg_msg
"""Input:Return:"""else:模块用于执行点云下采样和特征提取。输入包括点云的位置数据xyz和属性数据points,输出包括采样后的点云位置数据new_xyz和对应的特征向量。具体来说,这个模块首先根据指定的参数进行采样并分组操作,得到新的点云位置数据new_xyz和相应的特征数据new_points。然后,经过一系列卷积层和批归一化层,将新的特征向量new_points转换为更高维度的特征向量。最后,对。原创 2023-05-08 16:32:37 · 534 阅读 · 1 评论 -
代码阅读记录(7)—Point-PN mn40
然后,该代码创建了一个 `FileHandler` 对象 `file_handler`,用于将日志写入到指定目录下的 `out.txt` 文件中。`file_handler` 对象的日志级别也被设置为 `INFO`,并使用上述定义的 `formatter` 对象进行格式化输出。- `--ckpt_dir`: 保存检查点的路径,默认为 `./checkpoint/`- `--model`: 模型名称,默认为 `Point_PN_mn40`- `--optim`: 优化器类型,默认为 `sgd`原创 2023-05-05 21:58:16 · 140 阅读 · 0 评论 -
代码阅读记录(6)—Point-NN cls
构建出一组特征(feature_memory)和对应的标签(label_memory),用于训练模型。这段代码是用PyTorch实现的特征和标签的内存功能。首先,它将存储在feature_memory列表中的特征拼接在一起,并对每个特征向量进行归一化处理。然后,它将特征内存转置,以便可以更轻松地使用它们进行计算。然后,它将存储在label_memory列表中的标签向量拼接在一起,并使用F.one_hot函数将这些标签向量转换为one-hot形式。原创 2023-05-05 16:28:42 · 203 阅读 · 0 评论 -
代码阅读记录(5)—Point-NN Part Segmentation
源代码中没有日志记录的部分,所以就修改了一部分。原创 2023-04-22 11:32:36 · 606 阅读 · 10 评论 -
PointNet系列代码复现详解(3)—PointNet_sem_seg
在pointnet_utils.py中PointNetEncoder里,最后会进行判断,如果使用全局特征,即对整个点云进行处理得到一个全局特征表示。否则不使用全局特征,只对每个点进行处理得到局部特征,并且将这些局部特征聚合起来得到整个点云的特征表示。上面就是PointNet分割的代码,在前向传播函数中,首先是进行了特征提取,与分类代码特征提取不一样的是,和上述张量进行拼接,并返回拼接后的结果、特征变换矩阵和特征变换后的结果。时,我们需要保证变换前后张量的元素总数是相同的,否则会抛出异常。原创 2023-03-16 20:25:59 · 1054 阅读 · 0 评论 -
PointNet系列代码复现详解(2)—PointNet_part_seg
这次是PointNet的分割代码,与分类代码一样的部分就不在体积。原创 2023-03-15 18:26:05 · 2234 阅读 · 0 评论 -
PointNet系列代码复现详解(1)—PointNet分类部分
主要就是先记录一下训练轮次等基本信息,开启训练模式,更新学习率,然后开始一轮训练,优化器清零,然后数据增强,然后进行训练,一轮训练结束后会进行一次检测,最后检测结果与以前训练数据进行比较,保存最好的那个。方法计算分类正确的样本数,再除以该类别中的总样本数,即可得到分类器在该类别上的准确率。下面代码就是把训练的模型复制到对应的目录下,以便以后查看和对比,然后就获取对应的分类模型以及损失函数,激活函数。比如是否使用GPU,训练批次大小,模型,训练总轮数,以及优化器,训练日志保存路径等等。原创 2023-03-14 21:51:27 · 6109 阅读 · 4 评论 -
代码阅读记录(9)—NEW pointpillars
`ckpt_freq_epoch`:类型为整数,默认值为20,用于设置模型检查点保存频率(每多少个epoch保存一次)。- `max_lr`:学习率的最大值。- `num_workers`:类型为整数,默认值为4,用于设置数据加载器的线程数。- `init_lr`:类型为浮点数,默认值为0.00025,用于设置初始学习率。- `max_epoch`:类型为整数,默认值为160,用于设置最大训练轮数。- `log_freq`:类型为整数,默认值为8,用于设置日志记录频率。原创 2023-07-05 10:08:02 · 311 阅读 · 1 评论 -
代码阅读记录(4)—pointpillars
输入是一个数据字典,其中每个键值对表示一个特征和对应的数值,输出是一个PyTorch张量字典,其中每个键值对表示一个特征和对应的张量。然后遍历输入的数据字典,对于每个键值对,将其值转换为对应的PyTorch张量,并将该张量加入到输出的张量字典中。混合精度优化器的原理是将模型的参数和梯度分别转换为低精度半精度(FP16)和高精度(FP32)的数据类型进行计算,可以加速模型的训练,同时减少GPU显存的使用量。张量的类型,并将正样本和负样本的损失分别除以批量大小后返回,即得到正样本和负样本的平均损失。原创 2023-03-24 14:05:50 · 835 阅读 · 0 评论