- 博客(765)
- 资源 (2)
- 收藏
- 关注
原创 动手深度学习笔记(四十四)8. 循环神经网络
最重要的是,到目前为止我们默认数据都来自于某种分布, 并且所有样本都是独立同分布的 (independently and identically distributed,i.i.d.)。然而,大多数的数据并非如此。例如,文章中的单词是按顺序写的,如果顺序被随机地重排,就很难理解文章原始的意思。同样,视频中的图像帧、对话中的音频信号以及网站上的浏览行为都是有顺序的。换句话说,如果我们拥有一张图像,我们需要有效地利用其像素位置, 假若我们对图像中的像素位置进行重排,就会对图像中内容的推断造成极大的困难。
2023-02-07 21:29:23 412
原创 动手深度学习笔记(四十三)7.7. 稠密连接网络(DenseNet)
ResNet极大地改变了如何参数化深层网络中函数的观点。稠密连接网络(DenseNet) (Huang et al., 2017)在某种程度上是ResNet的逻辑扩展。让我们先从数学上了解一下。回想一下任意函数的泰勒展开式(Taylor expansion),它把这个函数分解成越来越高阶的项。分解为两部分:一个简单的线性项和一个复杂的非线性项。那么再向前拓展一步,如果我们想将。拓展成超过两部分的信息呢?一种方案便是DenseNet。同样,ResNet将函数展开为。也就是说,ResNet将。
2023-02-06 22:47:31 207
原创 动手深度学习笔记(四十二)7.6. 残差网络(ResNet)
事实上,可能更糟: 如 图7.6.1所示,对于非嵌套函数(non-nested function)类,较复杂的函数类并不总是向“真”函数靠拢(复杂度由向递增)。在 图7.6.1的左边,虽然比更接近,但却离的更远了。随着我们设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力, 为了取得质的突破,我们需要一些数学基础知识。,那我们可以轻而易举的训练得到它,但通常我们不会那么幸运。是我们真正想要找到的函数,如果是。
2023-02-01 23:48:41 249
原创 OBB的计算python实现
OBB的经典生成算法:使用PCA(主成分分析)。主成分分析有一个关键的线性代数计算步骤,即求解协方差矩阵的特征值和特征向量,这一点必须使用数值分析算法而不能用解题用的基本行变换手段,因为现代程序最大的特点就是干一些枯燥重复的事情——迭代.在这里主要介绍三维的思路,黑盒模型:obb的参数(中心点、三轴向量、三轴半长,以确定一个空间中的矩形)= f(点集)
2023-01-31 10:58:24 2505 1
原创 一些加速库Blas OpenMP等
整个CUDA平台是通过运用显卡内的流处理器进行数学运算,并通过GPU内部的缓存共享数据,流处理器之间甚至可以互相通信,同时对数据的存储也不再约束于以GPU的纹理方式,存取更加灵活,可以充分利用统一架构的流输出(stream out)特性,大大提高应用效率。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
2023-01-04 22:30:00 354 3
原创 动手深度学习笔记(四十一)7.5. 批量规范化
当我们训练时,中间层中的变量(例如,多层感知机中的仿射变换输出)可能具有更广的变化范围:不论是沿着从输入到输出的层,跨同一层中的单元,或是随着时间的推移,模型参数的随着训练更新变幻莫测。直观地说,我们可能会猜想,如果一个层的可变值是另一层的100倍,这可能需要对学习率进行补偿调整。所以,只有使用足够大的小批量,批量规范化这种方法才是有效且稳定的。批量规范化应用于单个可选层(也可以应用到所有层),其原理如下:在每次训练迭代中,我们首先规范化输入,即通过减去其均值并除以其标准差,其中两者均基于当前小批量处理。
2022-12-28 23:24:09 412
原创 小熊猫C++测试Eigen程序
小熊猫C++ IDE 之前只用过单文件程序测试,不知道怎样使用依赖库。根据IDE截面,盲猜有两种方式添加依赖库,于是实践一下。为了测试一个简单的程序去新建一个VS工程有点大材小用。项目–>项目属性–>文件夹–>头文件。方式一:设置makefile;项目->查看MakeFile。通过“+”添加依赖路径。
2022-12-16 18:39:55 898 2
原创 Friend 关键字
Friend class可以访问别的class中的private和protected成员,只要在这个类中声明了friend。通常可以使部分类访问其他类中的一些私有成员,例如在链表中,链表class作为节点class的friend,可以访问其私有成员。像Friend class一样,friend function可以访问其他类中的private和protected成员,friend function可以是。
2022-12-15 09:08:54 330
原创 Slicer学习笔记(六十二)slicer下导出模块接口
通过配置config_file为每一个生成类添加 Export,并为每个Module生成 Export.h文件。
2022-12-12 22:19:15 276
原创 医学图像笔记(九)Qt+VTK+ITK 医学图像处理
ITK需要编译,默认情况下ITK也不会关联VTK也需要在cmake-gui界面勾选关联VTK,关联到上面编译的VTK后会提示关联Qt路径。同时记录一下用到的软件版本:vs2019, cmake3.25, Qt5.15, VTK9.0, ITK5.2.VTK需要编译,默认情况VTK是不会关联Q的,需要在cmake-gui界面勾选关联Qt选项并指定Qt路径;再有就是看到很多参考程序里面要么Qt4 要么VTK8之类与之不兼容的情况。这样编写同时使用Qt、VTK、ITK的软件准备工作就完成了。
2022-12-10 10:45:04 949
原创 Qt笔记(十四)Qt程序依赖库
如果是开发经验很足的朋友,可以快速根据自己代码中使用到的qt功能,找到依赖的dll。但是,一些经验不足的同学,可能就需要采用最笨的方法,找一台没有安装过qt的空白机器,然后跑自己的应用程序,每跑一次,出错一次,记录一下缺少哪些库,然后一个一个拷贝进来。采用qt开发windows桌面程序,由于qt已经安装在了系统路径下,所以在开发的机器上是不会出现找不到依赖库问题的。但是,当我们打包之后,放到客户机上,客户是肯定不会为了用你的程序,去安装一个完整的qt,而且版本还需要和你开发时候使用的一模一样。
2022-12-09 21:36:01 1484
原创 C++ 链表笔记(二)
这个列子还有一个收获,是头文件conio.h,不是C标准库中的头文件,在C standard library,ISO C 和POSIX标准中均没有定义。conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。大部分DOS,Windows 3.x,Phar Lap,DOSX,OS/2 or Win32平台上的C编译器提供此文件,UNIX 和Linux平台的c编译器通
2022-12-07 22:56:29 494
原创 C++ 链表笔记(一)
2. 链表操作编写一个函数完成如下功能:将一个带头结点的单链表分解为两个具有相同构造的链表B和C,其中B表的节点为A表中值小于0的节点,而C表的节点为A表中值大于0的节点(链表A中的元素为非零整数,要求B、C表利用A表的节点)。要求,在主函数中调用上面的函数测试。
2022-12-07 00:05:45 124
原创 Push-Relabel算法相关阅读
容量,流量,可行流,残量网络等等基础概念不赘述了第一类,增广路算法(Augmenting-Path):该类算法是基于路径/割的,由Ford和Fulkerson两个人提出,实际上代表了一类算法,:从零流开始考虑,假如有这么一条路,这条路从源点开始到达汇点,并且这条路上的每一段都满足Flow
2022-11-17 22:59:29 784
原创 经典图割算法中图的构建及实现:Graph-Cut
讲解目前典型的3种图割算法:graph-cut、grab-but、one-cut。本文主要讲解graph-cut的方法在应用时,准则函数与图构建关系,如何构建图,以及如何代码实现图的构建。图割的原理网上文章和论文已介绍比较详细,不再详细介绍。该方法可谓是图割方法的开山鼻祖。该方法的准则函数如下:E(A)=λR(A)+B(A)E(A) = \lambda R(A) + B(A)E(A)=λR(A)+B(A)R(A)是先验惩罚项,B(A)是区域相似度惩罚项,λ\lambdaλ是平衡因子。该准则函数意义:同类间,
2022-11-10 15:48:59 2518 1
原创 Qt笔记(十三)Qt程序的.qrc文件
可以使用多种方法对其进行编辑,在资源编辑器中编辑时,首先要设置一个前缀,即在该qrc文件下的相对路径,如果与该qrc文件在相同的文件夹中,就只需要将前缀设为/即可。图标文件需要与qrc文件位于同一目录下或者在该目录的子目录中。另外,如果qrc文件中使用了前缀(例如),要确保图标路径正确无误;Qt中的qrc文件是一个xml格式的资源配置文件,与应用程序关联的应用程序由 .qrc 文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。),在弹出的界面中点击(添加…
2022-11-03 22:57:08 2434
原创 pytorch的测试与使用
本来打算使用jupyter notebook写一下测试程序的,不知道jupyter出了什么问题,不能正确调用环境,只能命令行下测试了。测试的内容是 输出尺寸向下取整。
2022-10-16 11:28:16 229
原创 pytorch转onnx测试
在保存模型进行推理时,只需要保存训练过的模型的学习参数即可,一个常见的PyTorch约定是使用.pt或.pth文件扩展名保存模型。
2022-10-12 22:56:26 366
原创 VTK学习笔记(三十九)vtkImageReslice
切片提取的关键是要给出ResliceAxes,实际上,它是一个4X4的矩阵。我们可以这样来理解:把这个矩阵看作是新坐标系在原坐标下的坐标表示,一个齐次坐标系。前三列分别表示新坐标系下x、y、z的向量坐标,第四列表示新坐标系下原点的坐标。这个矩阵表示了在新坐标系下,x方向向量为(0, 1, 0),y方向向量为(0, 0, -1),z方向向量为(-1, 0, 0)和原点坐标为(6, 0, 0)矩阵。它不仅可以提取切片,还有图像旋转,翻转,重采样,变形等功能,并且效率还很高。
2022-10-11 22:46:02 2350 2
原创 VTK学习笔记(三十六)VTK图像填充
通过这个示例说明使用vtkImageConstantPad 可以实现图像的基于体素的裁剪。但是需要注意方向和原点,避免数据对不齐。
2022-09-24 12:31:46 1133
原创 C++读写数据库
官网下载地址:https://www.sqlite.org/download.htmlSQLite版本为SQLite 3.39.0,相关文件如下。sqlite-dll-win64-x64-3390000.zip:包含sqlite3.def、sqlite3.dll文件。sqlite-amalgamation-3390000.zip:包含sqlite3.h 文件。参考:SQLite - C/C++参考:C/C++使用SQLite步骤及示例......
2022-07-04 19:12:50 934
原创 typora设置标题自动编号
配置前配置后:1、打开 typora 的主题目录2、将仓库中的 和 两个文件都拷贝到主题目录中3、配置完成,重启 typora 文档内容标题就会有自动编号了。参考:https://github.com/lipengzhou/typora-theme-auto-numbering按照上述操作后发现结果如下,看不到左侧的导航栏了,其实是因为typora新版本的原因,在左下角有一个小圆圈,使用来控制显示与隐藏导航栏的,点一下就可以了。About ThemesAuto Numbering for H
2022-06-26 10:38:33 6597 2
原创 Tensorrt笔记(六)c++官方demo测试
下载地址:https://developer.nvidia.com/nvidia-tensorrt-8x-download打开下面的项目文件,编译程序生成可执行程序到 …/…/bin文件夹下。执行该生成的程序:4、源码与分析4.1、源码4.2、源码分析4.2.1、项目方面连接库文件:包含头文件:库目录:主要关注 …/…/lib 和 $(CUDA_PATH)\lib\x64目录。可执行路径:主要关注 …/…/lib 目录。4.2.2、代码方面4.2.2.1、头文件目录主要
2022-06-25 17:17:11 448
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人