- 博客(5)
- 收藏
- 关注
原创 设计模式——单例的几种实现
在进行第一重检查的时候不需要加锁,多个线程可以同时进入,但是只有一个线程能获取到锁并创建单例,其余线程随后可能获取到锁,但是无法通过第二重检查,所以直接返回单例。我们现在用的高版本的 Java 已经在 JDK 内部实现中解决了这个问题(解决的方法很简单,只要把对象 new 操作和初始化操作设计为原子操作,就自然能禁止重排序)。3. 双重检查锁:只在第一次创建的时候进行加锁,所以,先判断单例是否已被初始化,如果没有,加锁后再初始化。多线程下存在的问题:多个线程同时进入if条件,创建多个实例,违背了单例初衷。
2023-08-05 10:04:39 186 1
原创 3D点云语义分割篇——PointNet++
PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric SpaceCharles R. QiLi Yi Hao SuLeonidas J. Guibas Stanford University 上一篇文章介绍了PointNet以及相应的pytorch代码实现,在S3DIS数据集上完成了语义分割任务,这种直接处理无序点云的方式,和传统的基于人...
2021-07-12 00:37:00 7751 8
原创 即插即用——移动硬盘安装Ubuntu20.04
即插即用——移动硬盘安装Ubuntu20.04缘起很多开源的与深度学习相关的代码其模型训练都是在服务器上完成的,当尝试在windows下去运行别人的代码时,总会出现一些意想不到且难以解决的问题,索性尝试在移动硬盘上安装一个linux系统,实现了随插随用(所有配置均存储在移动硬盘上,包括配好的代码环境,换一台电脑也能用)。参考准备工作1.下载desktop镜像文件访问http://releases.ubuntu.com/20.04/2.安装VMware虚拟机利用VMware作为安装工具,所以
2021-07-10 10:55:09 11305 20
原创 3D点云语义分割篇——PointNet
随着深度学习在二维图像处理及应用的逐渐成熟,对于三维点云也希望能利用强大的深度学习去解决诸如:分类、识别、分割、补全、配准等问题,这篇2017年发表的文章可以算是将深度学习直接应用于散乱、无序的三维点云的开山鼻祖。网络结构简单而有效(当然有效只是相对的),作者在ModelNet40上验证了分类任务,在ShapeNet上验证了部件分割,在S3DIS上验证了语义分割,本文主要针对语义分割做介绍(原理+代码)。直接看网络结构:网络的核心思想就两点:1.直接使用多层感知机(ML...
2021-06-28 09:01:40 11187 23
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人