自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入剖析Focal loss损失函数

目标检测方法常常使用先验框提高预测性能,一张图像可能生成成千上万的先验框,但是其中只有很少一部分能匹配到目标(正样本),而没有匹配到目标的先验框占大多数。这种情况造成了One-Stage目标检测方法的正负样本不平衡。如下图所示,红色的先验框都没有匹配到目标,所以它们都属于负样本,只是图中间的黄色先验框匹配到目标,所以它们是正样本。显然,这里的正负样本严重失衡。而对于two stage模型,比如Faster R-CNN这种two stage模型,第一阶段的RPN可以过滤掉很大一部分负样本,最终第二阶段的

2022-04-19 12:53:39 14966 14

原创 ResNet网络解析及实战案例

网络越深,获取的信息就越多,特征也越丰富。但是在实践中,随着网络的加深,优化效果反而越差,测试数据和训练数据的准确率反而降低了。如下图所示,56层和20层的神经网络对训练误差和测试误差的对比针对这种深层网络退化的问题,何恺明等人提出了残差网络(ResNet)在2015年的ImageNet图像识别挑战赛夺魁,并深刻影响了后来的深度神经网络的设计。1 残差块假设 F(x) 代表某个只包含有两层的映射函数, x 是输入, F(x)是输出。假设他们具有相同的维度。在训练的过程中我们希望能够通过修改网络中的

2022-04-17 15:03:51 7344 10

原创 FCN网络解析

1 FCN网络介绍FCN(Fully Convolutional Networks,全卷积网络) 用于图像语义分割,它是首个端对端的针对像素级预测的全卷积网络,自从该网络提出后,就成为语义分割的基本框架,后续算法基本都是在该网络框架中改进而来。对于一般的分类CNN网络,如VGG和Resnet,都会在网络的最后加入一些全连接层,经过softmax后就可以获得类别概率信息。但是这个概率只能标识整个图片的类别,不能标识每个像素点的类别,所以这种全连接方法不适用于图像分割。FCN对图像进行像素级的分类,与

2022-04-12 00:12:16 26004 9

原创 进程与线程的基本概念和代码实现

在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。前面我们使用进程执行的任务是没有参数的,假如我们使用进程执行的任务带有参数,如何给函数传参呢?args 表示以元组的方式给执行任务传参kwargs 表示以字典方式给执行任务传参进程之间不共享全局变量主进程会等待所有的子进程执行结束再结束在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。

2023-07-06 20:53:12 285 1

原创 卷积基础知识总结

卷积层是卷积神经网络中的核心模块,**卷积层的目的是提取输入特征图的特征,**如下图所示,卷积核可以提取图像中的边缘信息。卷积也成为过滤器,即Filter。

2023-06-29 20:55:16 3563

原创 在虚拟环境中使用pip list 命令时会出现有很多没有安装过的包

这种情况通常是由于您已经在系统base环境或者其它虚拟环境中安装了需要安装的库,并且这些库被添加到了Python路径中。当你在该虚拟环境中使用pip list查看该虚拟环境中第三方包时,它会检测到这些库已经存在于Python路径中,所以导致在该虚拟环境中使用pip list 命令时会出现有很多其他没有安装过的包。清除Python路径:您可以清除Python路径中的环境变量,以便在虚拟环境中安装新的库。首先,您需要找到Python路径中的环境变量。找到Python路径之后,您可以将其从环境变量中删除。

2023-04-09 14:25:28 761 1

原创 在一个新的虚拟环境中使用pip安装第三方库显示在另一个虚拟环境中已经存在,导致无法在新的虚拟环境中安装该第三方库

这种情况通常是由于您的系统中已经安装了需要安装的库,并且这些库被添加到了Python路径中。当您尝试在新的虚拟环境中安装相同的库时,它会检测到这些库已经存在于Python路径中,并且会给出错误提示。清除Python路径:您可以清除Python路径中的环境变量,以便在虚拟环境中安装新的库。首先,您需要找到Python路径中的环境变量。找到Python路径之后,您可以将其从环境变量中删除。

2023-04-09 14:15:01 1025 1

原创 ninja: error: manifest ‘build.ninja‘ still dirty after 100 tries

ninja: error: manifest 'build.ninja' still dirty after 100 tries

2023-01-19 15:07:10 1714 3

原创 Unet网络解析

unet网络解析

2023-01-16 20:03:03 11193 3

原创 解决办法:jupyter notebook 无法导入自己安装的包

juyper notebook无法使用安装包的解决办法

2022-10-19 19:49:08 2981 2

原创 Swin-Transformer-Object-Detection项目安装教程

Swin-Transformer-Object-Detection项目安装教程

2022-07-21 22:16:36 2084 3

原创 torchsummary和torchstat使用方法和结果分析

1 torchstat:查看模型的大小和浮动运算量安装工具 pip install torchstat使用例子import torchimport torch.nn as nnfrom torchstat import statclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.layer1 = nn.Sequential( nn

2022-05-09 18:29:32 12625 6

原创 SENet解析

1 前言在深度学习领域,CNN分类网络的发展对其它计算机视觉任务如目标检测和语义分割都起到至关重要的作用,因为检测和分割模型通常是构建在CNN分类网络(称为backbone)之上。提到CNN分类网络,我们所熟知的是VGG,ResNet,Inception,DenseNet等模型,它们的效果已经被充分验证,而且被广泛应用在各类计算机视觉任务上。这里我们介绍一篇CVPR2017的文章SENet,它赢得了最后一届ImageNet 2017竞赛分类任务的冠军。重要的一点是SENet思路很简单,很容易扩展在已有网络

2022-05-06 21:45:36 8486 1

原创 pip的安装,卸载和换源

1 pip 安装和卸载作用:安装第三方库安装命令pip install 库名注意:在Linux中,pip代表python2, pip3代表python3卸载命令:pip uninstall 库名2 更换镜像源因为直接使用pip进行安装时速度很慢,所以需要配置国内的镜像源,国内的主要镜像源如下所示:豆瓣 http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://m

2022-04-27 13:04:16 4628

原创 jupyter notebook的安装以及拓展功能配置

# 1 依次执行下面的命令pip install jupyterpython -m pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --user --skip-running-check2 上述安装没问题的话,在主环境启动jupyter notebook,并在显示的页面上可以看到对应的拓展配置选项卡如果你勾选了autopep8,自动规范代码功能,需要安装依赖包:pip install au

2022-04-27 12:34:07 2382 1

原创 DenseNet解析

1 前言在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如最近的GoogLenet,VGG-19,Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。今天我们要介绍的是DenseNet模型,它的基本思路与ResNet一致

2022-04-27 11:52:41 4389

原创 载入模型部分权重的方法

如果我们对模型进行微调,比如改变模型的最后一个全连接层输出节点个数,此时我们再载入原来模型的预训练权重,就会报错。因为模型的结构已经发生了变化,所以它所对应的权重(通常以字典中键值对的形式存储)存储结构也会发生变化,所以载入的过程中就会出现不匹配的情况。此时我们有两种解决方法,第一种方法就是只载入模型的部分权重,比如本例中就只载入除了最后一个全连接后的所有权重。第二种方法是先不改变模型,直接使用原来的模型载入原来的预训练权重,然后再改动这个模型的结构,比如改变模型的最后一个全连接层输出节点个数。下面我们分别

2022-04-24 23:33:21 2274

原创 SSD算法解析

目标检测算法主要分为两类:Two-stage方法:如R-CNN系列算法,主要思路就是通过Selective Search或者CNN网络产生一系列的稀疏矩阵的候选区域,然后对这些候选区域进行分类和回归,two-stage的方法优势在于准确率度高;One-stage方法:如YOLO系列方法,主要思路就是均匀地在图片上不同位置进行密集采样,采样时使用不同尺度和长宽比box,然后利用CNN提取特征后直接进行分类和回归,整个过程只需要一步,所以优势在于速度快。我们接下来介绍的SSD方法也是单阶段的算法。SS

2022-04-15 12:33:43 16884 3

原创 ResNeXt网络解析

ResNeXt是ResNet和Inception的结合体.ResNeXt借鉴Inception的“分割-变换-聚合”策略(即split-transform-merge),不同于Inception 的是,ResNext不需要人工设计复杂的Inception结构细节,而是每一个分支都采用相同的拓扑结构。ResNeXt的本质是分组卷积(Group Convolution),通过引入基数(Cardinality)来控制分组的数量1 split-transform-merge策略2 简化InceptionIn

2022-04-13 23:53:07 3122

原创 docker部署流程演示

第一步:创建一个容器,并进入该容器#本例中我们创建一个基于ubuntu系统的容器,并将该容器命名为myubutudocker run -it --name myubuntu ubuntu /bin/bash第二步:进入该容器后,安装所需要的环境#更新系统的软件源apt update#安装python3apt install python3#安装pip工具apt -y install python3-pip#安装flaskpip install flask第三步:将宿主上的文

2022-03-26 22:56:51 1196

原创 docker cp“ requires exactly 2 arguments

假设容器名为myubuntu,要从宿主机里边拷贝的文件路径为/root/1.py,现在将1.py文件拷贝到容器的 /home路径下面,但是出现错误"docker cp" requires exactly 2 arguments.,则说明路径的格式写错了,可能是多出了一个空格此时,只需要将多余的空格去掉即可。...

2022-03-26 22:50:57 6090

原创 failure: repodata/repomd.xml from dockerrepo: [Errno 256] No more mirrors to try.

在 Linux 上安装和使用 Docker当执行命令yum install -y docker-engine时出现如下错误。解决方法1:1.进入/etc/yum.repos.d cd /etc/yum.repos.d2.删除相应文件,文件名称对应错误提示中的名称,如:解决方法2:1 添加 docker仓库yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo2 编辑

2022-03-24 16:30:43 5219 5

原创 数据处理笔记

1.利用read_csv读取txt文档例1:原始数据是txt文档,格式如下所示:# 导入必备工具包import pandas as pdfrom sklearn.model_selection import train_test_split#这里第二个参数sep="\t"表示分隔符为"\t",#获取数据内容。pandas.read_csv(“data.csv”)默认情况下,会把数据内容的第一行默认为字段名标题。添加“header=None”,告诉函数,我们读取的原始文件数据没有列索引。因此

2022-03-17 11:51:41 1669

原创 使用gpu版的tensorflow时出现OOM错误(显存溢出错误): CUDA out of memory的解决办法。

gpu版的tensorflow 在执行过程中会默认使用全部的 GPU 内存,给系统保留 200 M,但是在我的系统上会在分配内存时被拒绝导致报错,因此我们可以使用如下语句指定 GPU 内存的分配空间:下面以我自己的电脑为例,进行相关设置。因为我的电脑的显存是6G,所以我可以设置tensorflow程序运行时所占用的显存不能超过6G,这里限制在4G大小。import tensorflow as tf#限制消耗固定大小的显存(程序不会超出限定的显存大小,若超出的报错)。physical_gpus = t

2022-03-15 09:39:16 4982 2

原创 在Linux系统上安装虚拟环境和pytorch

1 安装AnacondaAnaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。先去官方地址https://www.anaconda.com/products/individual?modal=commercial#Downloads下载对应版本的然后打开下载文件的位置,运行 .sh 文件:bash Anaconda3-2021.11-Linux-x86_64.sh进入注册

2022-03-11 13:07:52 3266

原创 在windows系统上安装虚拟环境和pytorch

1 下载并安装anaconda打开官网https://www.anaconda.com/products/individual?modal=commercial#Downloads,下载对应版本的anaconda,如下所示:找到安装包所在的目录,双击安装包点击Next点击I Agree选择你想安装的路径,之后一路默认就ok了配置环境变量:如果你在安装过程中勾选了Add PATH 那个选项,那么你不需要额外配置环境变量,但是如果你没有勾选(默认是不勾选的),那么你需要按照以下标准

2022-03-11 12:42:55 3536 2

原创 UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use

问题描述UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum. "Argument interpolation should be of type InterpolationMode instead of int. "解决办法第一步: 导入from torchvision.transforms import

2022-03-05 12:56:51 3060

原创 error: command ‘C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2\\bin\\nvcc.exe‘ failed

error: command ‘C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe’ failed with exit status 1我在windows10下安装detectron2(最新版maskRCNN)时,遇到了错误信息:error: command ‘C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe’ failed wi

2022-02-28 22:59:28 15972 7

原创 感受野的含义及计算方法

1 感受野(Receptive Field)的概念感受野(Receptive Field)的概念:在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始输入图像上映射的区域大小。第一层卷积层的输出特征图像素的感受野大小等于卷积核大小,其它卷积层的输出特征图的感受野的大小和它之前所有层的卷积核大小和步长有关系2 感受野的作用:特征图上的感受野越大,那么该特征图上每一个特征点所能看到的原始输入图形上的区域就越大,所以该它越能检测比较大的物体,但是也越容

2022-02-15 00:48:47 12865

原创 ubuntu18.04系统无法正常连接网络解决办法

如果出现下面标志,说明ubuntu系统无法正常连接网络解决办法:第一步:第二步第三步第四步重启一下,既可以正常连接网络了

2022-02-12 00:00:48 18348 19

原创 linux中文件权限的介绍以及修改方法

1 文件权限介绍当我们在终端中输入ls-lh命令时,会出现如下界面上面的每一列都代表什么意思呢?下面我来详细分析一下:下面我们着重介绍文件权限的详细信息:2 文件权限修改命令2.1. chmod命令的介绍chmod修改文件权限有两种方式:字母法数字法2.2 chmod 字母法的使用格式:chmod u/g/o/a+/-/=rwx 文件名角色说明:chmod命令字母法应用举例:如下图所示,桌面上的文件1.py的用户权限是可读可写,用户组权限是可读,其它用户权限是可读,

2022-01-31 23:28:59 15106

原创 vim编辑器的使用

vim 的介绍vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。vim的安装方法:sudo apt install vim vim 的工作模式命令模式编辑模式末行模式说明:使用vim刚打开文件时的模式是命令模式,输入i键可以进入编辑模式,输入esc返回命令模式。输入:键,就由命令模式转为末行模式,输入esc返回命令模式工作模式效果图:注意点:编辑模式和末行模式之间不能直接进行切换,都需要通过命令.

2022-01-31 22:57:50 7606

原创 Transformer架构解析

1.Transformer背景介绍1.1 Transformer的诞生2018年10月,Google发出一篇论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》, BERT模型横空出世, 并横扫NLP领域11项任务的最佳成绩!论文地址: https://arxiv.org/pdf/1810.04805.pdf而在BERT中发挥重要作用的结构就是Transformer, 之后又相

2021-06-21 16:51:55 1488

原创 Canny边缘检测

Canny边缘检测算法是由4步构成,分别介绍如下: 第一步:噪声去除 由于噪声会影响边缘检测的准确性 ,所以首先使用高斯滤波器去除噪声,在图像平滑那一章节中已经介绍过。 第二步:计算图像梯度 对平滑后的图像使用 Sobel 算子计算水平方向和竖直方向的一阶导数(Gx 和 Gy)。根据得到的这两幅梯度图(Gx 和 Gy)找到边界的梯度和方向,公式如下:...

2021-06-03 21:12:13 1660

原创 NMS(非极大值抑制)

非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素。例如在行人检测中,滑动窗口经特征提取,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。 NMS在计算机视觉领域有着非常重要的应用,如视频目标跟踪、数据挖掘、3D重建、目标识别以及纹理分析等 。在目标检测中,NMS的目的就是要去除冗余的检测框,保留

2021-05-31 23:39:17 3741 4

空空如也

空空如也

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

TA关注的人

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