自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如切如磋

Talking is easy and just show me the code

  • 博客(95)
  • 收藏
  • 关注

原创 2021-09-05

self attention的pytorch实现这一篇blog用pytorch来实现一下自注意力模块,原始论文中的自注意力的计算方式为:其中,softmax里面的分母部分为缩放因子。自注意力机制和多头自注意力机制的结构图如下所示。从图中可以看到,运算的过程不是很复杂,首先通过一个fully connected layer算出Q,K,V矩阵,将查询矩阵Q和键值矩阵K相乘之后,再乘以一个缩放因子scale,然后对最后一个维度做softmax进行归一化(如果有mask的话先加上mask处理),最后与v

2021-09-05 16:49:59 2322

原创 2021-09-03

CV领域常用的attention模块的pytorch实现进入2021年,CV领域已经发展到了非常非常火的时期了,attention的出现更是让卷积模块的功能变得更加强大;通过attention模块,特征图能够更好地关注到感兴趣区域,提取跟实际任务更加契合的特征。在这个系列中,将近几年出现的attention模块做一个简要的总结,并且将这些attention模块用pytorch实现出来。所有的attention模块都封装成了一个类,在实际调用的时候即插即用,在需要attention的地方可以直接使用。刚

2021-09-03 22:14:43 361 4

原创 2021-09-03

win10如何使用两个屏幕自己用的笔记本屏幕太小了,写代码的时候,字调小了看不清,字调大了看了没几行,于是接一另外一个大显示屏,这样看起来舒服一点,具体的操作流程也很简单。step 1首先将显示屏的数据线查到笔记本或者台式机的VGA接口上,一般在笔记本的左右两侧或者台式机主机的后面;step 2打开笔记本的设置step 3打开系统设置step 4在显示选项中选择拓展这些显示器,保留更改,选择一个主显示器,搞定!...

2021-09-03 21:43:14 217

原创 github本地文件和远端文件的协同

github本地文件和远端文件的协同Part 1 从云端下载到本地这个操作很简单,只需要git clone xxx.git即可。注意,如果是在windows10下,有时候这个指令有可能会失灵,此时要将xxx.git链接里面的https改成git,这样就能顺利clone到本地进行修改了。git clone user_name/repository_name.git# 例如git clone https://github.com/open-mmlab/mmdetection.git# 在win10

2021-08-28 22:54:41 162

原创 git push origin master报错

git push origin master报错error: src refspec xxx does not match any / error: failed to push some refs to在git add xxx.py和git commit -m 'description’之后,最后一步将本地修改之后的文件提交到github远端的时候出现问题,报错信息如下所示error: src refspec xxx does not match any / error: failed to push

2021-08-28 22:48:51 453

原创 win10下git的配置教程

win10下git的配置教程下载并安装git登录git的官方网站,下载git。注意在windows,linux,mac系统上的下载版本不同,要根据自己的本地环境来选择安装包,如下图所示,这里我们选择Windows安装。具体的安装过程比较简单,除了要修改一下安装目录,其他的选择默认就好,不太熟悉的同学可以参考这个安装链接。创建github用户首先进入github的官网,进行注册,注册时候需要用到邮箱,最好是常用的邮箱,下次如果忘记登录密码了可以通过这个邮箱找回来。具体的安装过程也比较简单,一定要记

2021-08-28 22:41:15 927

原创 numpy版本不对应导致tensorflow出错

numpy版本不对应导致tensorflow出错问题描述tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr问题分析:这是因为numpy与tensorflow的版本不对应造成的解决方案:卸载旧版本的numpy、重装最新版本的numpypip uninstall numpypip install numpy...

2021-01-21 19:57:00 1130 2

原创 torch.flatten()函数

1)flatten(x,1)是按照x的第1个维度拼接(按照列来拼接,横向拼接);2)flatten(x,0)是按照x的第0个维度拼接(按照行来拼接,纵向拼接);3)有时候会遇到flatten里面有两个维度参数,flatten(x, start_dim, end_dimension),此时flatten函数执行的功能是将从start_dim到end_dim之间的所有维度值乘起来,其他的维度保持不变。例如x是一个size为[4,5,6]的tensor, flatten(x, 0, 1)的结果是一个size为

2021-01-14 16:11:00 20664 1

原创 torch.contiguous()函数用法

在看代码的时候发现了torch.contiguous()这个函数,那么它有什么用途呢?1)背景知识首先得知道一个tensor的shape和stride的区别。以二维矩阵为例,shape = [row, column]是指几行乘几列,stride = [stride1, stride2]分别是指到下一行需要跳过几个元素,到下一列需要跳过几个元素。由于python的底层是C实现的,遵从行优先的原则。2)什么时候要用到contiguous那么什么时候能够用得上contiguous操作呢?在使用view操

2021-01-14 16:01:03 2941 1

原创 torch.transpose函数

torch.transpose(x,dim_1,dim_2)表示将x这个tensor的dim_1和dim_2进行交换,下面举个例子来说明怎么使用这个torch.transpose函数。In [1]: import torchIn [2]: import numpy as npIn [3]: a = np.arange(1,25)In [4]: a = torch.from_numpy(a)In [5]: a = a.view(2,3,4)# 交换a的第一个维度和第二个维度In [6]:

2021-01-14 15:48:57 4309 1

原创 shfflenetv2代码解读

shufflenetv2代码解读目录shufflenetv2代码解读概述shufflenetv2网络结构图shufflenetv2架构参数shufflenetv2代码细节分析概述shufflenetv2是发表在2018ECCV上的一篇关于模型压缩和模型加速的文章,其中用到的主要技巧有两点:深度可分离卷积、通道交互。其中,深度可分离卷积是为了减少参数量、增加运算速度,通道交互是为了让不同通道的特征之间可以产生信息交互,从而获取更加丰富的语义信息。这个系列的文章把主要精力放在代码的分析上,如果想要进一步

2021-01-14 15:44:40 1245

原创 densenet代码解读

densenet代码解读目录概述densenet网络结构图densenet网络架构参数densenet代码细节分析概述densenet是一篇受到了resnet启发的文章,它将resnet跳跃连接的思想发扬光大,在输出层不仅会加上输入层的信息,而且将“连接”做到极致,在每一个block里面,每一层的输出都会连接到后一层的输入,充分利用前面得到的特征图。densenet网络结构图单个denseblock的结构图一个具有3个dense block的densenet网络的结构图如下所示:dense

2021-01-14 14:27:35 2286 2

原创 squeezenet代码解读

squeezenet代码解读目录概述使用了1 x 1卷积,方便灵活改变通道数、减少参数量通过squeeze layer较少了通道数将池化层放在比较靠后的位置,使得前半部分的特征信息尽可能不被遗忘。网络结构图Fire模块朴素版本、加上跳跃连接、1 x 1卷积的squeezenet每一层输入输出的tensor变化每一层的tensor的输出shapesqueezenet代码细节分析概述squeezenet是一款轻量级的CNN,它的参数量相当于AlexNet参数量的1/50(经过减枝、稀疏化等模型压缩手段过后

2021-01-14 11:01:44 745

原创 torch.cat同时连接多个tensor

torch.cat可以直接用来连接多个tensor,不需要两个两个之间相互concatenate。话不多说,下面写个例程演示一下:In [1]: import torchIn [2]: a = torch.ones(3,4)In [3]: b = 2*torch.ones(3,4)In [4]: c = 3*torch.ones(3,4)In [5]: d = torch.cat((a,b,c),axis = 1)In [6]: e = torch.cat((a,b,c),axis =

2021-01-13 20:36:17 5271

原创 GoogLeNet代码解读

GoogLeNet代码解读目录GoogLeNet代码解读概述GooLeNet网络结构图代码细节分析概述GooLeNet网络结构图代码细节分析

2021-01-13 20:28:34 972

原创 Inception代码解读

Inception代码解读目录Inception代码解读概述Inception网络结构图inception网络结构框架inception代码细节分析概述inception相比起最开始兴起的AlexNet和VGG,做了以下重要改动:1)改变了“直通”型的网络结构,将一个大的卷积核做的事情分成了几个小的卷积核来完成;2)这样带来的另一个好处是可以得到不同尺度的特征,并且对不同尺度大小的特征进行融合,使得提取出来的特征的语义信息更加丰富;3)引入了1x1的卷积核,1x1的卷积核可以用来方便地改变通道数

2021-01-13 20:11:46 1685

原创 VGG代码解读

VGG代码解读目录VGG代码解读概述网络结构图VGG代码细节分析概述VGG跟AlexNet在结构上没有本质上的区别,在AlexNet的基础上变得更深了,依然是“直通”式的结构,提出了局部响应结构(LRN),效果改善很小。整体上的架构仍然是卷积、激活、池化提取特征,然后前向神经网络做分类器。网络结构图vgg_A、vgg_B、vgg_C、vgg_D、vgg_E分别对应不同的vgg结构变种,其中LRN(local response network)是局部响应网络,实验结果表明加上LRN的效果没有明显改善

2021-01-13 19:20:50 782

原创 AlexNet代码解读

AlexNet代码解读目录AlexNet代码解读概述网络结构图AlexNet代码细节分析概述AlexNet的网络结构很简单,是最初级版本的CNN,没有使用什么技巧。网络分成两个部分,分别是卷积、激活、池化构成的特征提取器,以及前向神经网络的分类器。网络结构图AlexNet代码细节分析import numpy as npimport torchimport torch.nn as nnfrom typing import Anyfrom torchsummary import summ

2021-01-13 16:12:38 1264

原创 Resnet的pytorch官方实现代码解读

Resnet的pytorch官方实现代码解读目录Resnet的pytorch官方实现代码解读前言概述34层网络结构的“平原”网络与“残差”网络的结构图对比不同结构的resnet的网络架构设计resnet代码细节分析前言pytorch官方给出了现在的常见的经典网络的torch版本实现。仔细看看这些网络结构的实现,可以发现官方给出的代码比较精简,大部分致力于实现最朴素结构,没有用很多的技巧,在网络结构之外的分组卷积、膨胀卷积等等技巧已经略去(分组数目设置为1,膨胀系数设置为1),为理解网络结构略去了很多不

2021-01-13 15:54:13 2662

原创 基于SegNet和UNet的遥感图像分割代码解读

基于SegNet和UNet的遥感图像分割代码解读目录基于SegNet和UNet的遥感图像分割代码解读前言概述代码框架代码细节分析划分数据集gen_dataset.pyUNet模型训练unet_train.py模型融合combind.pyUNet模型预测unet_predict.py分类结果集成ensemble.pySegNet模型训练segnet_train.py前言上了一学期的课,趁着寒假有时间,看了往年论文和部分比赛的代码,现在整理出来。整理的这部分内容以实际操作为主,主要讲解代码部分的分析。概

2021-01-13 14:42:21 5587 15

原创 pip升级之后出现no module named pip

问题描述pip升级之后出现no module named pip解决方案在stackover上搜了一下,大部分解决方案是这样的:python -m ensurepippython -m pip install upgrade pip但是使用上述方法之后仍然没有解决问题,继续报错no module named pip。于是到库函数安装包里面看了看,文件路径是Anaconda\Lib\site-packages,发现还存在这么一个文件夹,是老版本的pip安装时留下的,应该删除掉。删掉这个文件夹

2020-05-16 22:54:47 5982 5

原创 VIBE复现过程,使用nvidia和libOpenGL.so渲染出错及解决方案

VIBE复现过程,使用nvidia和libOpenGL.so渲染出错及解决方案VIBE全称是"Video Inference for Human Body Pose and Shape Estimation",是2020年CVPR(computer vision and pattern recognition)中关于人体姿态骨架的一篇论文。论文地址:https://arxiv.org/abs/...

2020-05-01 17:04:01 1326 2

原创 冒泡排序python实现

冒泡排序python实现去年写过一篇冒泡排序python实现,外层多了一层循环,这里更正过来~算法思想冒泡排序(以从小到大排序为例)的思想在于,不断地将当前元素与后一个元素进行比较,如果当前元素较小,则调换当前元素与后一个元素的位置,否则保持不变;假设需要排序的元素一共有nnn个,在iii轮排序过程中,从第一个元素开始,跟后续的(n−i)(n-i)(n−i)元素进行上述比较(注意:上一轮排序...

2020-04-30 23:58:06 531

原创 linux环境切换python3版本

linux环境切换python3版本在linux环境下既安装了python3.5又安装了python3.7,在安装库函数的时候有时候会遇到版本不兼容问题,例如有些库函数要求当前的python环境必须是python3.6及以上版本。下面演示如何将python3.5切换成python3.7。Step1 查看当前默认的python版本python --version# 输出当前python版本...

2020-04-30 20:49:46 2993

原创 服务器上安装ffmpeg后报错及解决方案libavdevice.so.58: cannot open shared object file: No such file or directory

服务器上安装ffmpeg后报错及解决方案问题描述实习的时候要求复现从视频中提取3D骨架的论文,其中一篇源码中要用到ffmpeg来对视频进行预处理。安装完ffmpeg之后导入ffmpeg的时候出错,出错信息提示为:libavdevice.so.58: cannot open shared object file: No such file or directory解决方案经过一番查找资料...

2020-04-23 22:03:18 10874 1

原创 ubuntu如何编辑/etc/ld.so.conf

ubuntu如何编辑/etc/ld.so.confStep1 vi /etc/ld.so.confStep2 按’i’进入编辑模式,此时在最后一行会出现INSERT的提示,修改要改动的地方Step3 按’esc’退出编辑模式Step4 按’:wq’保存修改并退出Step5 输入ldconfig使修改后的设置生效...

2020-04-23 21:43:06 1945

转载 安装kinetic之后无法import cv2解决方案

安装kinetic之后无法import cv2解决方案问题描述ubuntu系统在安装kinetic之后,重启之后导入cv2模块会出现错误如下:ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type解决方案这位博主的链接中提供了3种解决方案,由于...

2020-04-23 21:34:40 338

原创 linux切换root权限

linux切换root权限问题描述有些指令不能直接执行,得启用roott权限才能用,通常进入root模式的方法是:su root有时候这样获取root权限的时候会提示失败:su: Authentication failure解决方案重新输入用户登录密码即可(new password保持跟原来的password一样就好了,不用替换成新的密码)。具体指令如下,可以看到切换成功之后’$...

2020-04-22 22:02:19 736

原创 matlab版本之间的单双引号问题

matlab版本之间的单双引号问题问题描述运行matlab文件的时候出现错误提示Creating a string using double quotes is not supported. Use the string function.解决方案google之后发现,这是由于matlab新旧版本之间的不兼容导致的,新版本中字符串用双引号,而旧版本中字符串用单引号。出现上面的错误提示是...

2020-04-19 21:33:37 6651 1

转载 linux服务器运行matlab文件报错

linux服务器运行matlab文件报错在linux服务器上安装matlab之后,如果想要运行matlab程序,通常的做法是先cd到matlab文件所在的文件夹,然后输入指令% 假定matlab文件名为XXX.m,需要注意的是下面这条指令是写XXX,不要加上后缀名.mmatlab -nodesktop -nosplash -r XXX问题描述有时候可能会遇到这样的报错信息:Inter...

2020-04-19 21:19:46 1074

原创 linux用unzip解压.zip文件失败解决方案

linux用unzip解压.zip文件失败解决方案问题描述在服务器上下载数据集之后进行解压,一般来说用unzip指令去解压.zip文件,有时候解压的时候会出现错误提示:unzip: cannot find zipfile directory in one of XXX.zip or XXX.zip.zip, and cannot find XXX.zip.ZIP, peri...

2020-04-18 15:55:08 21513 2

原创 用pytorch加载训练模型

用pytorch加载.pth格式的训练模型在pytorch/vision/models网页上有很多现成的经典网络模型可以调用,其中包括alexnet、vgg、googlenet、resnet、inception、densenet、mobilenet等。把模型下载下来之后,打开模型查看网络模型里面的具体内容内容是什么。以resnet101为例,查看它里面定义了网络的哪些参数。import to...

2020-04-10 15:34:42 345

原创 chrome插件Adblock Plus拓展程序

chrome插件Adblock Plus拓展程序什么是Adblock Plus?最近在登录csdn博客和其他网页的时候发现广告很多,体验感比较欠缺。知乎上有网友推荐用Adblock Plus拦截广告。Adblock Plus官网上下载比较慢,给老铁们送上Adblock Plus的百度网盘链接,提取码:k0ij。安装Adblock Plus出现的问题和解决方案问题下载以上安装包之后,出现...

2020-04-01 21:56:58 2359 3

原创 latex二元关系符号

latex二元关系符号二元关系latex符号<<<<>>>>≤\leq≤\leq≥\geq≥\geq≪\ll≪\ll≫\gg≫\gg≺\prec≺\prec≻\succ≻\succ⪯\preceq⪯\preceq⪰\succeq⪰\succeq⊂\s...

2020-03-31 21:55:33 2249

原创 latex大写运算符号

latex大写运算符号大写运算符号latex符号∑\sum∑\sum∏\prod∏\prod∐\coprod∐\coprod∫\int∫\int⋃\bigcup⋃\bigcup⋂\bigcap⋂\bigcap⨆\bigsqcup⨆\bigsqcup∮\oint∮\oint⨂\bigotimes⨂\bigotim...

2020-03-31 19:25:38 1844 1

原创 latex定界符号

latex定界符号定界符号latex符号(((())))[[[[]]]]{\{{{}\}}}⟨\langle⟨\langle⟩\rangle⟩\rangle⌊\lfloor⌊\llfloor⌋\rfloor⌋\rfloor////\\backslash\\backslash⌉\rc...

2020-03-31 19:18:52 1385

原创 latex箭头表示符号

latex箭头表示符号箭头类型latex符号←\leftarrow←\leftarrow→\rightarrow→\rightarrow↔\leftrightarrow↔\leftrightarrow⇐\Leftarrow⇐\Leftarrow⇒\Rightarrow⇒\Rightarrow⇔\Leftrightarrow⇔\Left...

2020-03-31 19:09:18 1971

原创 latex强调/重音符号

latex强调/重音符号强调/重音符号latex符号x^\hat{x}x^\hatxˋ\grave{x}xˋ\gravexˉ\bar{x}xˉ\barxˊ\acute{x}xˊ\acutexˇ\check{x}xˇ\checkx˙\dot{x}x˙\dotx⃗\vec{x}x\vecx˘\breve{x}x˘\brev...

2020-03-31 18:52:09 3743 1

原创 matplotlib.pyplot绘制函数图像希腊字母latex效果设置

matplotlib.pyplot绘制函数图像希腊字母latex效果设置用matplotlib绘制函数图像时,有时候为了图形的含义更加清晰明了,需要在函数图形的备注上标明函数表达式,此时往往涉及到用latex效果显示出来。举个例子以高斯函数为例,我们画出它的图像,代码如下:import numpy as npimport matplotlib.pyplot as pltimport m...

2020-03-31 17:57:10 10623 2

原创 error: Microsoft Visual C++ 14.0 is required问题解决方案

error: Microsoft Visual C++ 14.0 is required问题解决方案汇总用pip或者conda安装一些库函数的时候提示错误:error: Microsoft Visual C++ 14.0 is required。经过一番百度和google,在博客和stackoverflow上发现了三个解决方案,其中,第三个方案解决了我的问题,终于成功安装上所需的库函数。err...

2020-03-24 10:40:10 1550

空空如也

空空如也

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

TA关注的人

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