- 博客(18)
- 收藏
- 关注
原创 inception denseGCN函数产生的结果是四维的原因
这个函数的输入x是点云的特征,通常情况下点云特征是二维或三维的,例如[num_points, num_features]或者[batch_size, num_points, num_features]。这里为了使用卷积,输入x的最后一维被扩展为num_features个通道,所以输入变为[batch_size, num_points, 1, num_features],是一个四维Tensor。所以这里人为地对输入进行扩展,把特征的最后一维扩展成“通道”的形式,以方便后续的2D卷积操作。
2023-08-07 22:57:58
126
1
原创 关于pointnet的几个点
1.为什么将维数从一开始3维变成1024维后再进行池化。一开始输入只有xyz三维,(x,y,z),如果进行最大池化(maxpool),会损失太多信息,输出的全局特征仅仅继承了三个坐标轴上最大的那个特征。但如果将点映射到1024维的高维空间再进行最大池化,则1024维所有通道上都只保留最大的那一个,比起3维池化却是能保留更多,保留了1024个,损失的信息会减少很多。2.T-net对于普通的PointNet(vanilla),如果先后输入同一个但是经过不同旋转角度的物体,它可..
2021-11-28 22:49:52
1575
原创 为什么需要卷积?为什么下采样过程中channels不断增加?
原始图像的特征信息是最完整的,但是为啥还要卷积呢?因为原始图像比如1024乘768的图像,算一下多少个像素点,如果作为输入,下一层(隐含层)有10的5次方个神经元的话,再算算有多少个参数,但是如果用卷积核来卷积,即便用了100多个卷积核去提取特征,参数比起我刚才说的原始图像减少非常非常多,这就是我们需要CNN的原因。还有就是既然卷积了,换句话就是缩小了图像,那为了保证图像精度最大程度上不丢失,就需要多个卷积核,这样就可以保证在降维的同时不失真。然后CNN的层数越多,越深,理论上整个网络中的参...
2021-11-19 20:12:38
7441
3
原创 学习的杂记
pip install matplotlib tensorflow-gpu==1.13.1 open3d==0.9 sklearn Pillow gdown plyfile -ihttps://pypi.tuna.tsinghua.edu.cn/simple
2021-11-11 20:23:17
743
原创 python中FLAGS()和argpaser.add_argument()
两个都是为了解释参数和更方便输入参数的不同的是argpaser()是python自带的而FLAGS()是tensorflow的,需要引入tf毕竟代码中是 tf.app.flags.FLAGS()
2021-11-08 19:48:48
180
原创 PUGCN复现细节
数据集方面:下载预训练模型压缩包解压后,记得更改文件夹名称为:pretrain训练阶段:将data/PU1K/train中的权重文件取出放在PU1K文件夹。evaluation阶段:用realscan代码更改路径测试PU1K模型。bash test_realscan.sh pretrain/pu1k-pugcn/ ./data/test/input_2048/input_2048 0 --model pugcn --k 20可视化阶段:下载vtk时用pip不用conda...
2021-11-06 12:52:15
876
1
原创 什么是op操作
export PATH="/usr/local/cuda-11.4/bin:$PATH"export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH"
2021-11-03 17:43:47
3441
原创 如何选择下一步的操作与错误评估
几种提高性能的操作误差分析应该在交叉验证集上做查准率和召回率查准率是看查出来的癌症是不是查正确了召回率是看能查出多少癌症来
2021-09-06 22:16:59
74
原创 模型选择问题(高方差高偏差,过拟合欠拟合)
如何选择6比2比2,训练集,交叉验证集,测试集训练集得到θ,用交叉验证集选一个误差最小的,这样就省下了测试集训练集误差大,没有很好的拟合训练集,验证集误差也大,接近训练误差,就是左边的高偏差,欠拟合训练集误差小,表明对训练集拟合得很好,验证集误差大,远远大于训练误差,高方差,过拟合。区别两者主要看训练误差大不大。用这些λ(lambda)去一一最小化代价函数J(θ)就能得到这些θ在验...
2021-09-03 15:24:47
404
原创 1评估假设
‘通常采用7比3的比例,百分之七十作为训练集,百分之三十作为测试集。’如果这些数据有规律,就要随机选取百分之七十和三十。线性回归:实际上就是测试集平方误差的平均值,也就是我们包含参数θ的假设函数。逻辑回归:这里用到了0/1错误分类...
2021-09-03 11:03:47
116
原创 实现神经网络
第一次实现反向传播求偏导数时,最好还是用for循环来遍历,对每一个训练对象进行迭代计算完这些应该就得到了计算偏导数项的程序反向传播算法的目的就是求出梯度下降的方向,梯度下降就是顺着这个方向下降改进算法的一些方式...
2021-09-03 10:12:21
53
原创 octave随机初始化
实现代码rand(10,12) 随机生成一个10*11的矩阵,矩阵的值都在0-1之间。*(2*INIT_EPSILON) 都会乘2epsilon- INIT_EPSILON 再减去epsilon 最后得到需要注意的是:这里的epsilon和之前梯度检验里的epsilon没有任何关系总结:为了训练神经网络1.首先应该把权重随机初始化为一个接近0且2.进行反向传播3.进行梯度检验4.使用梯度下降或者其他...
2021-09-02 11:46:29
208
原创 验证反向传播的计算
算出该点导数的近似值,只要e足够小就行,高数内容完整操作Dvec是我们从反向传播中计算出来的导数==================前面几个加一起的总步骤===================4是关键,确认导数值相似后不要再使用上面计算gradapprox的方式,关掉梯度检验,因为计算量庞大,使用Dvec即可,因为高效重要: 就是记得一旦验证反向传播的计算是正确的,就及时关闭梯度检测,不然每次都检验会特别特别慢...
2021-09-02 11:33:22
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人