- 博客(129)
- 收藏
- 关注
原创 从零开始使用github同步代码
github可以让我们在不同设备间同步代码,但是我在用的时候出现了很多问题,就弃用了。最近由于需要重新整理了下这方面内容,也成功实现了使用github同步代码的全过程,于是记录详细步骤,以便后续查阅。博主默认读者具有基础的命令行使用知识,文中关于命令行的开启、文件夹定位等步骤将不作介绍。
2025-01-13 17:11:48
1517
原创 opencascade 计算点到图形的最近距离
opencascade 使用过程中经常要计算某个点到某个 Edge 或者 Face 的最短距离,在opencascade 中有些算法可便捷地实现该功能。
2024-07-03 10:51:17
520
原创 opencascade 判断两个TopoDS-Shape 是否相同
如果我们想去掉重复的边,可以通过判断两条边是否相等实现(实际上不需要通过此方法),但是通过 == 运算符进行判断通常是无效的,即两条重合的边在运算符 == 下会被判定为否,那么我们想判断两条边是否相等如何实现?我们使用opencascade提取实体时,经常会出现实体重复,例如从正方体实体中提取Edge,我们会发现能提取出24个Edge,但正方体只有12条边,这是因为每条边有两个面,进行了重复提取。以上代码即可判断两条边是否相等,其它形状类似。TopTools_ShapeMapHasher 实现。
2024-06-21 20:35:34
486
原创 STEP 格式三维模型读取
STEP是常用的三维模型存储格式,使用Express语言描述几何图形,文件存储方式为BRep,分为STEP203和STEP214,后者多了颜色信息,opencascade中提供了相应算法读取STEP文件。
2024-03-27 19:03:32
1130
1
原创 TopoDS_Face的面积及TopoDS_Edge的长度
TopoDS_Face 和 TopoDS_Edge 是 opencascade 中常用的几何体表示方式,为面和边提供了统一的表达,其面积和长度计算应该也很常用。
2024-03-27 18:56:39
783
原创 Python使用其它文件夹中的.py文件
在python构建的工程中,A.py 可能要使用 B.py 文件中的函数、或者类、或者变量,如果这两个文件在同一个目录下,只需要在 A.py 中使用 import B 即可,但如果不在同一目录下,则这种方法不可用,将工程下的所有文件放在一个目录下又会显得混乱,那么如何解决这个问题?如下图所示,需要在 func_exam.py 中调用 models 文件夹下的 test_module.py 文件中的类。
2023-12-11 11:12:45
1301
原创 torch.nn.functional.log_softmax 函数解析
softmax 计算公式:log_softmax 计算公式:可见仅仅是将 softmax 最外层套上 log 函数。
2023-11-18 11:50:12
2045
1
原创 torch.tensor.max 函数解析
pytorch 中的函数 torch.tensor.max(dim, keepdim = False)用于求某一维的最大值。可见对第dim维度进行max操作,就是把其它维度固定,对dim维度所有值进行取最大值。返回值索引0为其数值,索引1为其最大值的索引。
2023-11-17 16:49:15
1120
原创 李沐pytorch学习-DropOut
DropOut 即丢弃法,一般用于全连接层的隐含层,卷积层一般不用。在训练时随机把一些神经元丢弃,不参与运算,防止过度依赖某个神经元。被丢弃的神经元相关权重此次不参与更新。
2023-09-04 11:40:31
200
原创 torch.bmm功能解读
bmm 是 batch matrix multiple 的简写,即批量矩阵乘法,矩阵是二维的,加上batch一个维度,因此该函数的输入必须是两个三维的tensor,三个维度代表的含义分别是:(批量,行,列)。的第 i 个矩阵作乘法,i = 1, 2, 3, ..., a。因此为了矩阵乘法能够进行,c 和 e 必须相同。计算过程如图1所示。要求 a = d, c = e,即批量数相同,在计算时。的 shape 为 (a, b, c)的 shape 为 (d, e, f),与图1中绿色矩阵对应。
2023-09-03 15:01:32
1278
原创 pytorch中nn.Conv1d功能介绍
output_channel=4,即由四个卷积核,每个卷积核的通道数和输入的通道数相同,这里是3,如图2所示,第一个元素'abc'的三个通道'a', 'b', 'c'输入第一个卷积核,得到红色数字,第二个单词经过卷积核得到黄色数字,排成一列得到第一个通道,四个卷积核得到输出的四个通道。在使用Conv1d函数时,pytorch默认你的数据是一维的,比如一句话“深度学习”可以用一个一维数组 ['深', '度', '学', '习'] 表示,这个数据就是一维的。卷积核大小为1,卷积核通道数和输入数据的通道数一致。
2023-09-02 22:01:48
1334
3
原创 李沐pytorch学习-BatchNormalization
计算主要涉及如下公式:为可学习的参数,对应新的方差和均值。其中:是一个很小的数,用于防止分母为零# 最好不要与DropOut组合使用# 可以加速收敛,一般不会增加正确率O_0R_0w_1w_0w_0%5Cbeta%5Cepsilon%5Cepsilon。
2023-08-27 20:29:02
232
原创 PointNet论文解读及代码详解
PointNet在结构设计时考虑了点云的上述特点,因此在输入点云中点的顺序发生改变时,其输出一定不会改变。此外在少量点缺失或者错误时,也能保证结果的稳定性。PointNet 有两个网络,一是分类,二是分割,分类即输入点云,输出其表达的物体类别。分割即输入点云,将其表达的物体的不同部件分开。
2023-08-26 19:33:09
1263
4
原创 李沐pytorch学习-经典CNN的原理及代码实现
AlexNet赢了2012年ImageNet比赛是个更深更大的LeNet∷ ReLu作为激活函数,减缓梯度消失∷ 使用MaxPooling∷ 全连接层后加入了丢弃层(DropOut∷ 进行了数据增强(Data argumentation,截取图片一部分作为新增数据、或者调色温)DropOut:随机使某个神经元失效,以免训练后网络输出过度依赖某个神经元导致过拟合【深度学习】丢弃法(dropout)_苦逼的虾的博客-优快云博客。
2023-08-21 11:24:23
771
原创 李沐pytorch学习-卷积网络及其实现
卷积计算过程如图1所示,即输入矩阵和核函数对应的位置相乘,然后相加得到输出对应位置的数。卷积计算过程该过程可以形象地从图2中展现。二维卷积示意图。
2023-08-19 12:58:04
1810
原创 李沐pytorch学习-矩阵求导
对于的计算结果,根据y和x的维度,可根据下图得到导数的维度图1. 矩阵求导结果维度图对于函数:此时 y 是标量,自变量为矩阵对自变量求导数求导样例如下:图2. 求导样例。
2023-08-15 19:47:17
266
原创 QVariant使用方法,QTreeWidgetItem存放指针
一般类型存储://存储QVariant var;var.setValue(12);//使用int data=var.toInt();自定义类型存储:struct MyClass{ int id; QString name;};Q_DECLARE_METATYPE(MyClass)需要使用宏Q_DECLARE_METATYPE(MyClass),对于有命名空间的,需要在命名空间外使用该宏Q_DECLARE_METATYPE(FT::MyClass)。自定义类型需要有默
2021-06-26 09:19:56
1426
原创 Qt—QSplitter按比例设定窗口初始尺寸
对于一个QWidget窗口进行分割在构造函数内输入如下代码:QSplitter* aSplitter=new QSplitter(Qt::Horizontal, this);//创建水平窗口分割,垂直分割用Qt::VerticalQWidget* LeftWidget=new QWidget(aSplitter);//在aSplitter中添加左侧窗口QWidget* RightWidget=new QWidget(aSplitter);//在aSplitter中添加右侧窗口aSplitt
2021-04-19 16:43:34
5344
1
原创 MATLAB平面曲线按曲率上色&三维曲面颜色栏链接自定义属性(二维曲线第三维用颜色表示,三维曲面第四维用颜色表示)
平面曲线按曲率上色(曲线第三维用颜色表示)先上效果图正弦曲线按曲率上色自由曲线按误差上色自由曲面按误差上色曲线第三维用颜色表示实现方法:x=linspace(-10,10,100);y=sin(x);y(end)=NaN;z=abs(sin(x))./(1+cos(x).^2).^1.5patch(x,y,z,'EdgeColor','interp','linewidth',3);以上为示例代码,正弦曲线按曲率上色,复制到MATLAB可直接运行。x=linspace(-10,
2021-02-01 21:50:29
1935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人