自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 Transformer学习记录(5):Batch Normalization与Layer Normalization

都是用于标准化数据的,Batch Normalization是用于图像预处理的,而Layer Normalization最初是用于自然语音的,但随着Transformer在图像的使用,Layer Normalization也用于图像中。我们在图像预处理过程中通常会对图像,这样能够加速网络的收敛。

2024-09-19 17:22:53 869

原创 GCN-assisted attention-guided UNet for automated retinal OCT segmentation | 论文阅读记录

在治疗neovascular age-related macular degeneration (nAMD)时,对视网膜的SD-OCT图像进行分割很重要。原因:经过下采样会导致空间信息的损失,而该模型需要使用空间推理能力来分割图像,因此需要补充这些信息。表示模型能够较好地识别出所有真实的负类样本,避免将健康的样本误诊为正类,在图像分割邻域,空间推理用于理解图像中像素或区域的。为了提高自动分割的性能,解决UNet的学习过程会。的深度学习模型,常用于非欧几里得空间的数据。例如,在医学图像中,某些病灶区域的。

2024-09-19 17:21:52 938

原创 Transformer学习记录(6):Vision Transformer

Transformer模型最初是使用在NLP中,但近几年Transformer模型在图像上的使用越来越频繁,最新的模型也出现了很多基于Transfomer的,而其中,它是用于图像分类的,这里就以这个模型来学习Transformer模型是如何在图像领域使用的。

2024-09-14 17:46:11 1208

原创 Transformer学习(4):位置编码 Positional Encoding

在自注意力编码中,所有a的计算都并行同时执行得到对应的b,可以并行就代表着a之间是,这存在问题。在不使用位置编码时,将a2​与a3​的顺序打乱,不会影响a1​输出的数据。

2024-09-13 11:53:22 745

原创 Transformer学习(3):多头自注意力机制Multi-Head Self-Attention

回顾自注意力机制多头自注意力机制多头自注意力机制可以理解为由多个自注意力模块,也就是自注意力头(head)组成。每个head都有自己的QKV矩阵来进行自注意力计算。计算过程① 得到各个head所需的QKV:计算过程中会将原本的qi,ki,viq_i,k_i,v_iqi​,ki​,vi​分为多份,分配到对应的head中,一般会均分QKV的向量,这样每个head有了所需的QKV数据,以此每个head都可以使用自注意力机制。下图是有2个head的情况,可以看到将q,k,vq,k,vq,k,v都

2024-09-13 10:50:19 608

原创 Transformer学习(2):自注意力机制

自注意力机制是规定了数据自身来作为查询对象与被查询对象。

2024-09-12 17:20:43 728

原创 Transformer学习(1):注意力机制

在一张图像中,包含了各种信息,而我们会自动关注重要的信息。下图是注意力热力图,可以发现人们会注意兔子的脸这些重要信息。而在深度学习中,输入数据包含了重要的数据与不重要的数据,但对于一个模型来说,它不知道哪些数据是重要的。因此提出了注意力机制,如何在深度学习模型上使用注意力,让模型关注于重要的数据。

2024-09-12 11:21:17 594

原创 libtorch学习历程(二):张量

libtorch(pytorch c++)的大多数api和pytorch保持一致。使用之前要导入torch。

2024-08-24 21:28:44 838

原创 libtorch学习历程(三):模块与网络的编写与使用

中的实现。而且。

2024-08-24 21:28:13 276

原创 libtorch学习历程(四):数据加载模块

要自定义数据加载模块,需要继承torch::data::Dataset这个基类实现派生类。与pytorch中需要实现初始化函数init获取函数getitem以及数据集大小函数len类似的是,在libtorch中同样需要处理好初始化函数get()函数和size()函数。需要继承torch::data::Dataset,定义私有变量image_paths和labels分别存储图片路径和类别,是两个vector变量。在构造函数中,调用图像遍历函数来获得所有图像的地址与类别;并且需要。

2024-08-24 21:27:59 673

原创 ResNet网络学习

对于一个网络,如果简单地增加深度,就会导致梯度消失 或 梯度爆炸,我们采取的解决方法是 正则化。随着网络层数进一步增加,又会出现模型退化问题,在训练集上的 准确率出现饱和甚至下降 的现象;因此提出了通过利用内部的残差块。

2024-08-24 21:26:06 374

原创 libtorch学习历程(一):libtorch2.4.0+opencv4.10+Qt6安装

安装完成后,打开Qt Creator,打开构建套件,查看编译器,可以看到Qt自动识别到的编译器。新建一个Qt的UI项目,配置pro文件,使得项目可以使用libtorch与opencv。debug版与release版的pro文件设置基本一样,只是文件名可能需要修改。选择组件时,将MSVC2019与MinGW选上,其余的看自己需要。打开构建套件,可以看到安装时选择的MSVC与MinGW。直接去官网下载即可,安装是选择C++的桌面开发即可。查看MSVC的配置,可以看到所使用的编译器。这要使用的是红框中的编译器。

2024-07-31 17:28:45 987

原创 U-Net学习

U-Net的提出是为了解决医疗图像中的问题。

2024-07-28 15:33:52 289

原创 libtorch学习历程(1)环境搭建:VS+libtorch

libtorch使用所需要的环境和训练最好保持一致,其中cuda,显卡驱动以及libtorch版本配置一般不应低于训练环境。尤其是libtorch版本要求更为严格,否则部分pytorch的api无法在libtorch中使用。最好pytorch与libtorch的版本是一样的。点击链接器->输入->附加依赖项,添加 (你的libtorch位置\libtorch\lib) 这个地址下的所有lib文件名。① 拷贝opencv和libtorch中的dll文件到项目的执行目录中,在项目编译后执行时报错缺啥拷贝啥。

2024-07-27 21:10:26 1204

原创 FCN 全卷积网络

最后进行转置卷积,进行32倍的上采样来恢复原图的高宽,深度为类别个数。这里使用了双线性插值的方法来初始化转置卷积的参数。而在论文中,作者冻结了转置卷积的参数,因此实际上就是一个简单的双线性插值,可以直接使用双线性插值。原因是两种方法的性能差不多,但可以加速训练过程。最终每个像素都有num_cls个数值,对它们进行softmax操作就可以知道该像素最有可能属于哪个类别。在FCN-32S中,VGG16、FC6与FC7使用的权重就是VGG中的权重。将前面得到的两个h16×w16×16h。

2024-07-27 17:26:39 984

原创 转置卷积 transposed convolution

通过上面分析,就可以知道为什么通过对输入特征图进行填充使用转置的卷积核并且使用转置卷积核与输入特征图进行步长=1的普通卷积操作就可以得到结果。

2024-07-26 20:14:05 1091

原创 语义分割介绍

语义指具有人们可用语言探讨的意义,分割指图像分割。语义分割(semantic segmentation)能够将,使每个部分,让计算机可以理解图像。语义分割是,将整张图不留缝隙地分割成每个区域,。

2024-07-26 15:57:18 886

原创 卷积神经网络CNN

简单来说,就是包含了卷积层的神经网络。

2024-07-24 21:26:57 748

原创 Python 模块

自定义模块也就是自己编写的python文件。导入的操作与前面一样。注意:若导入时有同名的功能,则会使用后导入的模块的功能F() # 使用的是model2模块中的F。

2024-07-02 11:33:47 258

原创 Python 异常

若所有函数都没有捕获异常,则程序会报错。假设某处可能会出现异常,提前做好准备。指定捕获某种异常,其他异常不会捕获。所有的异常都会被捕获,不指定异常。无论有无异常都会执行的代码。

2024-07-01 19:49:04 351

原创 Python 文件操作

将文件的内容翻译为二进制。

2024-07-01 17:55:07 410

原创 Python 类

class 类名 : 成员变量成员方法变量 = 类名() # 创建对象 变量 . 成员变量 # 使用成员变量 变量 . 成员方法。

2024-06-30 16:27:19 403

原创 Python类型注解

使用场景:变量的类型无法确定时限制:类型注解只是提示,不能限制变量的类型,不会导致程序报错语法:变量:类型① 基础数据类型② 类对象类型③ 基础容器类型注解④ 容器类型详细注解注意:元组类型时,要将都标记出来。字典类型时,需要2个类型,第一个为key,第二个为value还有一种变量类型注解方式,利用注释来实现。

2024-06-30 16:27:01 396

原创 Python数据容器

可以容纳多份数据的数据类型,每份数据称为元素。元素可以为任意数据类型,不同元素可以为不同类型。列表使用可以修改的,允许重复元素的出现列表类似数组,可以有多维。使用中括号来定义,元素之间用逗号隔开。变量 = [元素1,,元素2,...]变量 =list() # 空列表可以嵌套列表,类似多维数组。使用小括号来定义,元素可以为任意数据类型。注意:若元组只有一个数据,则要在后面加上逗号,否则不是元组类型(元素,元素,...)tuple(元素,元素,...)(元素,)# 只有一个元素,要加上逗号。

2024-06-22 22:32:35 1282 1

原创 Python 函数

def 函数名(参数):# 通过缩进来区分函数体函数体return 返回值变量=函数名(参数)

2024-06-21 20:55:03 509

原创 学生-教师模型 与 知识蒸馏

指一个较小且较简单的模型(学生)被训练来模仿一个较大且较复杂的模型(教师)的行为或预测。教师网络通常是一个在大型数据集上并在特定任务上表现良好的模型。而学生网络被设计成的模型。其目标是在减少计算资源需求和提高推理速度的同时,尽可能地接近教师网络的性能。主要思想是利用教师网络的知识和经验来指导学生网络的学习过程。训练Student and Teacher network的过程被称为"它涉及使用教师网络的预测结果和真实标签来训练学生网络。。

2024-06-20 10:53:15 240

原创 似然 与 概率

似然与概率分别是针对不同内容的估计和近似。

2024-06-19 16:25:08 1077

原创 Deep Learning for Unsupervised Anomaly Localization in Industrial Images: A Survey | 论文阅读记录

AL也称为异常分割,用于生成像素级异常定位结果,它不仅仅关注图像类别,更关注异常的详细位置。RAMFAE:一种基于自编码器的新型无监督视觉异常检测方法。OmniAL:用于无监督异常定位的统一 CNN 框架。

2024-06-16 23:05:36 358

原创 Python基本语法

单引号定义:可以包含双引号,若要包含单引号,则要使用转义字符 \双引号定义:可以包含单引号,若要包含双引号,则要使用转义字符 \三引号定义:与多行注释的方法一样,只是使用了变量接收。str3="""str3"""str1='"str1"'# 包含双引号str2="'str2"# 包含单引号str1='\'str1\''# 使用转义字符。

2024-06-16 15:28:49 568

原创 解决VsCode编写Python代码有中文时,出现SyntaxError: Non-UTF-8 code starting with ‘\xb9‘ in file

【代码】解决VsCode编写Python代码有中文时,出现SyntaxError: Non-UTF-8 code starting with ‘\xb9‘ in file。

2024-06-13 16:22:53 127

原创 Towards Total Recall in Industrial Anomaly Detection | 论文阅读记录

其中。

2024-06-10 10:49:54 1354 2

原创 C++优先队列

要重载 ‘<’ 运算符,定义优先级大小的方法struct EX{int x;bool operator < (EX ex){// x大的优先级高// 优先级小的。

2024-03-28 20:41:21 177

原创 new关键字

一个操作符,在堆上创建对象,并返回该对象的指针。

2024-03-17 23:17:41 353 1

原创 C++创建与初始化对象

C++创建的对象一般存放在栈或堆,而这取决于创建的方式。存放在栈的对象在超出作用域后就会释放,而且栈的空间小,调用快存放在堆的对象需要手动释放,而且堆的空间大,调用慢。

2024-03-17 23:03:17 333 1

原创 C++三元操作符

【代码】C++三元操作符。

2024-03-17 22:47:34 343 1

原创 static 与 const

2、const在 * 后时,代表该指针是常量,即该指针存放的地址不变,始终指向同一个地址,指针本身不可改变,而这个地址所存放的数据可以改变。该变量属于整个类,对类的所有对象都只有一份拷贝,不属于任何特定的类对象。注意,与指针不同是,引用没有指针本身与指针所指的内容。3、 const 在 * 的前后时,指针本身不变,指针所指的数据不变。因为类中的非静态成员函数会根据当前的类实例来构建,但静态成员函数是。该变量只是在类实体中是常量,而在不同类对象中可以有不同的值。,不能使用非静态的成员变量。

2024-03-17 15:51:19 877 1

原创 C++字符串

本质: char数组特点:1.初始化后,字符串是不可变。代码中可以修改,只是重新生成了一个字符串,原本进行删除2.以 0 或 ’ \0 '结尾,程序会识别出字符串在此结束。

2024-03-16 17:25:49 875 1

原创 C++ 数组

数组将多个类型相同的对象归纳在一起,连续存放。数组实际上只是一个指针。

2024-03-13 17:22:55 387

原创 C++类的介绍与使用 Class

定义:一种数据类型目的:归纳某种对象,包含该对象的各种属性。

2024-03-13 16:35:49 1437

原创 工作笔试遇到的问题

的2.不能用来求最大值或最小值的问题3.只能求满足某些约束条件的可行解的范围。

2024-03-11 23:09:22 897 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除