
点云深度学习
文章平均质量分 75
steptoward
这个作者很懒,什么都没留下…
展开
-
【Python深度学习】——使用Logging记录模型训练过程
使用Logging记录级别示例级别数值DEBUGlogging.debug10INFOlogging.info20WARNINGlogging.warning30ERRORlogging.error40CRITICALlogging.critical50原创 2024-06-19 08:40:49 · 604 阅读 · 1 评论 -
【python深度学习】——torchvision.models
torchvision是PyTorch生态系统中的一个包,专门用于计算机视觉任务。它提供了一系列用于加载、处理和预处理图像和视频数据的工具,以及常用的计算机视觉模型和数据集。关于此模块的官网介绍在这里。这个模块包含许多常用的预训练计算机视觉模型,例如ResNetAlexNetVGG等分类、分割等模型。在官网示例中可以看到, 在0.14版本之后, 可以通过调用list_modelm1 = get_model("mobilenet_v3_large", weights=None) #不带预训练权重。原创 2024-06-08 11:27:31 · 741 阅读 · 0 评论 -
【Python深度学习】——交叉熵|KL散度|交叉熵损失函数
交叉熵损失函数的目标是最小化预测概率分布与真实分布之间的差异。对于真实分布P 和预测分布 𝑄,交叉熵𝐻(𝑃,𝑄) 的定义为Lyy−∑i1KyilogyiLyy−i1∑Kyilogyiyiy_{i}yi是实际标签的独热编码(one-hot encoding)如果真实类别是 𝑖,则yi1y_{i}=1yi1, 其余为 0;yi\hat y_{i}yi是模型预测的类别 𝑖 的概率。原创 2024-06-11 08:29:43 · 1423 阅读 · 0 评论 -
【python深度学习】——pytorch中tensor的view、resize(resize_)与reshape
【代码】【python深度学习】——pytorch中tensor的view、resize(resize_)与reshape。原创 2024-06-04 23:32:03 · 1047 阅读 · 0 评论 -
【python深度学习】——tensor内部存储结构|内存优化与as_strided|内存紧凑化contiguous
深度学习中数据量往往是非常庞大的, 因此, tensor的storage是可以共享的, 如下图所示——tensor A和B的元素是相同的, 在内存中,其实是指向同一片空间的, 只是通过stride的不同,来实现呈现的tensor不同。由前面两节我们已经知道, 有些情况下, tensor数据只是视图不同, 元素的存储其实没有改变, 那么在反复操作时, 有可能带来计算效率的下降。在这个例子中,contiguous_tensor 是一个新的 Tensor,数据被复制到一个新的连续存储区中。原创 2024-06-03 21:35:19 · 1235 阅读 · 0 评论 -
【python深度学习】——大型工程项目管理以及互相导入
与相对导入不同,绝对导入不会依赖于当前模块的位置,而是基于项目的根目录来定位模块。并且你是在项目的根目录下运行了python test/test_gui.py这个命令,那么就可能会产生上述报错。这里依然更推荐以python -m的方式,在工程根目录来运行包中的模块.来开展单元测试, 我们有两种方式可以实现, 分别是。原创 2024-05-31 11:01:09 · 1482 阅读 · 0 评论 -
【python】-——并行训练之torch.multiprocessing.spawn()
它与torch.distributed.launch的区别是,torch.distributed.launch启动的每个进程, 都运行整个Python 脚本。主要用于创建指定数量的子进程,并行地执行目标。原创 2024-05-29 23:22:12 · 1053 阅读 · 0 评论 -
【Python深度学习】——信息量|熵
这个硬币有两个面:正面(H)和反面(T),每次掷硬币出现正面或反面的概率都是 0.5。——概率密度越均匀, 不确定性越高,即熵越高;概率密度越聚拢, 不确定性越低, 熵越低.此外, 事件独立时, 两个事件同时发生的信息量,等于两个事件的信息量相加.构成. 例如, 抛硬币的结果出现正面和反面就构成一个完整的系统.如下图所示,左图为一个平均分布, 不确定性较高;以2为底, 是转换到二进制下的表示复杂度.一件事越容易发生, 它的信息量就越小.表示事件 ( x ) 的信息量,熵的值就等于概率分布中所有信息量的。原创 2024-06-10 13:02:06 · 913 阅读 · 0 评论 -
【python深度学习】——torch.einsum|torch.bmm
全称为: batch matrix-matrix product, 批量矩阵乘法, 适用于三维张量,其中第一维表示批量大小,第二维和第三维表示矩阵的行和列。原创 2024-06-05 14:36:15 · 842 阅读 · 0 评论 -
【python深度学习】——torch.min()
当传入两个张量时,torch.min() 会比较两个张量中的每个位置的元素,并返回对应位置的最小值。当指定 dim 参数时,torch.min() 会返回沿指定维度的最小值以及对应的索引。不指定维度时, torch.min() 输出整个张量中所有元素的最小值。原创 2024-05-28 11:26:47 · 1339 阅读 · 1 评论 -
【python深度学习】——torch.expand()广播机制|torch.norm()
如果尝试在一个不是 1 的维度上进行扩展,会引发错误。因此我们先用unsqueeze函数在目标位置上进行dim=1的扩充, 再进行expand。在处理3D点云时, 有时需要对两帧点云进行逐点的三维坐标相加减、做点积等运算, 但是读入的PCD文件中,点云数量并不一定是相等的。那么首要的一个问题就是, 如何将两帧点云处理成大小相同的矩阵然后进行计算?torch.norm()是 PyTorch 中用于计算张量范数的函数,expand函数只能在原始。原创 2024-05-27 17:16:40 · 1152 阅读 · 0 评论 -
Ubuntu18.04+2070s+TF2.x环境,单卡训练PointNet++实战
该文件夹下定义了一些pointnet++模型中需要使用的cuda核函数,如FPS(最远点采样)、grouping等,所以在训练模型前,需要先编译这些自定义的op。我直接进行训练时,由于使用normal的数据,维度是6的, 在shape方面报了个不匹配的错,于是做了如下修改,保障代码可运行。(改的比较暴力,还没来得及细看,有可能其实是应该指定其他参数来解决这个问题的,后续如果发现了,再来矫正。(或许还有其他差异,如果编译或运行报错,也可以优先考虑一下是不是版本差异导致的问题)最后,模型就可以训起来啦,如下~原创 2024-04-04 16:26:29 · 1094 阅读 · 0 评论