自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习_经典网络_VGG16和ResNet152哪个参数量更多

首先,我们我们知道深度学习中网络的计算量代表时间复杂度,参数量代表空间复杂度。从ResNet的论文中可知(ResNet论文可在这个文章中的第六部分找到)152层的残差网络在时间复杂度上和VGG16是一样大的。接下来我们先对VGG16的计算量(时间复杂度)和参数量(空间复杂度)都进行估算。(VGG网络的相关知识可以在这篇文章中了解)我们以VGG16的第一层卷积为例:输入图像224 * 224...

2019-11-30 21:23:18 8804

原创 深度学习_经典网络_ResNet详解及常见问题总结

一.ResNet的介绍及核心思想2015年,ResNet大大吸引了人们的眼球。实际上,早在ILSVRC2012分类竞赛中,AlexNet取得胜利,深度残差网络(Deep Residual Network)就成为过去几年中计算机视觉和深度学习领域最具突破性的工作。ResNet使得训练深达数百甚至数千层的网络成为可能,而且性能仍然优异。由于其表征能力强,ResNet在图像分类任务之外的许多计算机视...

2019-11-30 19:59:36 7423 1

原创 算法面试_搜索旋转排序数组

题目:假设按照升序排序的数组在预先未知的某个点上进行旋转。(例如,数组[0,1,2,3,4,5,6,7,8,9]变成[7,8,9,1,2,3,4,5,6])。搜索一个给定的值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。我们可以假设数组中不存在重复元素。算法时间复杂度必须是O(logn)级别。下面我们用C++编写代码:class Solution{public: int...

2019-11-30 14:37:18 175

原创 Linux_如何把一个目录下的所有文件(不含目录)的权限改为644

对于对外开放的网站和系统,文件权限控制是一个很重要的事情,对于文件和文件夹权限原则是最小权限够用就行, 不相关的文件只需要只读权限即可。实现方法:递归修改权限方法是通过 find命令 根据文件参数查找到对应的类型之后执行指定权限。说明:以下path为你需要修改的目录的路径。1.修改所有者:chown -R root.root path (递归修改指定路径的所有文件为root用户组所有)...

2019-11-30 10:33:45 2918

原创 深度学习_深度学习基础知识_BatchNormalization论文详解及常见问题归纳

一.Batch Normalization介绍及公式Batch Normalization又称为“批归一化”。首先,在进行训练之前,一般要对数据做归一化,使其分布一致,但是在深度神经网络训练过程中,通常以送入网络的每一个Batch训练,这样每一个Batch具有不同的分布。此外,为了解决internal covarivate shift问题,这个问题定义是随着Batch Normalizatio...

2019-11-29 09:11:27 950

原创 深度学习_深度学习基础知识_数据采样方法详解

一.数据不均衡在学术研究与教学中,很多算法都有一个基本假设,那就是数据分布是均匀的。当我们把这些算法直接应用于实际数据时,大多数情况下都无法取得理想的结果。因为实际数据往往分布得很不均匀,都会存在“长尾现象”,也就是所谓的“二八原理”。举个????,在大部分微博博文的互动数(被转发、评论与点赞数量)在0-10之间,交互数多的微博(多于50)非常少。如果我们去预测一条微博交互数所在档位,预测器只需要把...

2019-11-28 16:48:18 2698

原创 每日一句_《一剪梅·余赴广东实之夜饯于凤亭》

在每天的生活,学习研究和工作中,精力充沛斗志昂扬固然是好,但有时难免也会有疲倦负能量。希望这个板块中的优秀的文字力量能给我自己和大家带来一点点前进的力量。以下,enjoy:...

2019-11-27 14:46:26 211

原创 深度学习_GAN_初始GAN原理及相关知识详解

生成对抗网络(GAN,Generative adversarial network)自从2014年被Ian Goodfellow提出以来,掀起了一股研究热潮。所以GAN的相关原理知识对我们的学习,研究和工作非常有价值。以下,enjoy:一.GAN基本概念GAN的主要思想:GAN由生成器和判别器组成,生成器负责生成样本,判别器父子判断生成器生成的样本是否为真。生成器要尽可能迷惑判别器,而判别器...

2019-11-27 14:11:50 1171

原创 深度学习_图像分割_U-Net详解(全网最详细)

U-Net模型详解(全网最详细)

2019-11-27 10:33:06 1282

原创 算法题_排序算法_冒泡排序

冒泡排序算法的思想:每次选择两个元素,按照需求进行交换(比如需要升序排列的话,把较大的元素放在靠后一些的位置),循环 n 次(n 为总元素个数),这样小的元素会不断 “冒泡” 到前面来,时间复杂度O(n^2)。接下来我们来编写冒泡排序的C++代码:void bubbleSort(int *numbers, int length){ bool swap = true; while(swa...

2019-11-26 22:57:29 582

原创 深度学习_数据集_红外和可见光图像融合数据集

Toet A. TNO Image fusion dataset. (117.03 MB)——红外和可见光图像序列网址:https://figshare.com/articles/TN_Image_Fusion_Dataset/1008029(内容很丰富,常用的图像都是从该库里挑出来的。论文中也常引用该网址。)简介:“The TNO Image Fusion Dataset contain...

2019-11-26 16:29:20 16986 3

原创 C/C++_C++多态

什么是多态?即多态的定义:多态性(polymorphism)据说最早源自于希腊语,从字面上理解就是多种形态,或者说多种形式。具体到C++这种面向对象(OOP)的语言中,其实就是一个接口,多种实现方法。多态可分为静态多态和动态多态,具体的分类情况如下:静态多态和动态多态的区别其实只是在什么时候将函数实现和函数调用关联起来,是在编译时期还是在运行时期,即函数地址是早绑定还是晚绑定的。静态多态...

2019-11-26 16:06:04 248

原创 深度学习_目标检测_R-CNN系列网络

一.R-CNNR-CNN有哪些创新点:使用CNN(ConvNet)对region proposals计算 feature vectors。从经验驱动特征(SIFT、HOG)到数据驱动特征(CNN feature map),提高特征对样本的表示能力。采用大样本下有监督预训练模型和小样本微调(fine-tuning)的方法解决了小样本难以训练甚至过拟合等问题。R-CNN介绍:R-CNN作...

2019-11-26 00:40:02 1178

原创 算法面试_笔试题_数组中出现次数超过一半的数字

题目:数组中有一个数字出现超过数组长度的一半,请找出这个数字。我们有两种方法对本题进行解答,第一种方法思想受启发于快排,所以也会用到快排的Partition函数,Partition函数详细点我。下面我们先写第一种方法的代码:int MoreThanHalfNum(int* numbers, int length){ if(CheckInvalidArray(numbers,length)...

2019-11-25 16:02:15 289

转载 解释性语言和编译型语言的区别和不同

2019-11-25 10:02:43 247

原创 算法面试_笔试题_反转链表

题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。首先我们先定义链表:struct ListNode{ int m_nValue; ListNode* m_pNext;};接下来我们写出完整的代码:ListNode* ReverseList(ListNode* pHead){ ListNode* pReversedHead = nullptr; ...

2019-11-25 09:38:48 241

原创 算法面试_笔试题_二叉树的深度

输入一颗二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根节点和叶节点)形成树的一条路经,最长路径的长度为树的深度。首先我们先定义二叉树:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};接下来用递归的方法进行实现:int TreeDe...

2019-11-24 21:13:27 209

原创 算法题_排序算法_快速排序(递归和非递归方法)

快速排序的时间复杂度并不固定,如果在最坏情况下(在一个原本逆向排序的数列中选择第一个元素为基准元素)速度比较慢,达到 O(n^2)(和选择排序一个效率),但是如果在比较理想的情况下时间复杂度 O(nlogn)。实现快速排序的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的数字移动到数组的左边,比选择的数字大的数字移动到数组的右边。这体现了分治法的思想。下面我们来...

2019-11-24 17:27:21 480

原创 算法面试知识点的汇总整理(持续更新)

这篇博客的内容主要是我自己面试的经历和我收集到的一些面试中被面试官经常问到的问题,这些问题不仅在面试中经常被问到,在实际的学习、科研实践和工作中亦对我们有很大帮助。所以我也将每个问题的答案进行收集和完善,以下,enjoy:数学基础知识部分:1.概率论题目: 设随机变量X1,X2,…Xn相互独立,且都服从(0,θ)上的均匀分布。求U=max{X1,X2,…Xn}数学期望。本题答案点我...

2019-11-24 13:56:34 1546 3

原创 数学基础_设随机变量X1,X2,…Xn相互独立,且都服从(0,θ)上的均匀分布。求U=max{X1,X2,…Xn}数学期望

由题意得:随机变量相互独立且服从均匀分布。均匀分布的概率密度为:其分布函数为:下面是这道题的具体步骤:

2019-11-24 13:45:43 21092

原创 算法题_排序算法_堆排序(Heap Sort)

堆排序是一种基于**二叉堆(Binary Heap)**结构的排序算法,所谓二叉堆,我们通过完全二叉树来对比,只不过相比较完全二叉树而言,二叉堆的所有父节点的值都大于(或者小于)它的孩子节点,像这样:最大堆定义:最大堆中的最大元素值出现在根结点(堆顶)。堆中每个父节点的元素值都大于等于其孩子结点。我们再从数学逻辑结构来了解最大最小堆:最大堆:arr[i] >= arr[2i+...

2019-11-23 20:15:26 263

原创 算法题_排序算法_归并排序(Merge Sort)

归并排序相比较之前的排序算法而言加入了分治法的思想,其算法思路如下:1.如果给的数组只有一个元素的话,直接返回(也就是递归到最底层的一个情况)2.把整个数组分为尽可能相等的两个部分(分)3.对于两个被分开的两个部分进行整个归并排序(治)4.把两个被分开且排好序的数组拼接在一起下面给出C++代码:void MergeSort(int number[], int start, int e...

2019-11-23 11:35:07 494

原创 深度学习_经典网络_SRN

空间规整( spatial regularization)为什么要做空间规整? 因为标签之间没有标注空间信息,难以得到标签之间潜在的空间关系。如何做空间规整? 在Learning Spatial Regularization with Image-level Supervisionsfor Multi-label Image Classification一文中,作者提出了学习所有标签之间的注意...

2019-11-22 22:23:18 1205

原创 深度学习_图像分割_FCN

一.图像分割算法分类与介绍图像分割是预测图像中每一个像素所属的类别或者物体。基于深度学习的图像分割算法主要分为两类:语意分割:为图像中的每一个像素分配一个类别,如把画面中的所有物体都指出它们各自的类别。实例分割:与语意分割不同,实例分割只对特定物体进行类别分配,这一点与目标检测有点相似,但目标检测输出的是边界框和类别,而实例分割输出的是掩膜(mask)和类别。基于传统的CNN的分割方法...

2019-11-22 22:16:24 2579

原创 传统经典CV算法_LBP算子

LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子。它的作用是进行特征提取,提取的是图像局部纹理特征。经典的LBP算子定义为在3 * 3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则周围像素点的位置被标记为1,否则标记为0.所以3 * 3区域内的8个点可产生8bit的无符号数,也就得到了该窗口...

2019-11-22 14:41:11 1484

原创 C/C++_STL(标准模板库)_stack

STL 是“Standard Template Library”的缩写,中文译为“标准模板库”。STL 是 C++ 标准库的一部分,不用单独安装。C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层...

2019-11-22 09:41:13 293

原创 深度学习_经典网络_VGGNet

一.模型介绍VGGNet是由牛津大学视觉几何小组(Visual Geometry Group,VGG)提出的一种深度卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogleNet以6.65%的错误率夺得)和25.32%的错误率夺得定位任务(Localization)的第一名,网络名称VGGNet取自该小组名缩写。VGGNet是首批把图像分类的错误率降...

2019-11-21 19:37:15 775

转载 深度学习_联邦学习_漫画详解

*安全聚合是一种用于计算带掩码的矢量 (比如模型里的权重) 之和的交互式加密协议。它会调整数据对中的随机掩码,使得当输入的数据足够多时,让这些掩码最终相互抵消,从而计算出最终结果 (如一套计算模型的更新量)。Practical Secure Aggregation for Privacy-Preserving Machine ...

2019-11-20 14:55:11 3204

原创 C/C++_字符的个数

标准ASCII码字符集总共的编码有128个,包括32个通用控制符,10个十进制数码,52个英文大小写字母和34个专用符号。ASCII码的长度呢是一个字节,共8位,理论上可以表示256个字符,但是许多时候只谈128个,其原因是这样的:在计算机中,数字和字符本来是不加区分的。一个ACSII码在机器中,可能是字符,也可能做数字使用。为了兼顾这两种用途,也为了操作方便,规定ASCII码都是正的(正数)...

2019-11-20 11:07:32 1139

原创 深度学习_GAN学习(广度知识)_GAN各分支网络的学习总结及介绍(持续更新)

生成对抗网络是目前深度学习领域中发展最快的一个分支之一,它可以用于图像编辑和着色、风格转换、物体变形、照片增强等多个领域。二.根据特定条件或者特性来生成或者编辑图像的技术1.CGAN(Condition GAN)主要用于图像生成Conditional Generative Adversarial Nets在条件GAN中,生成器并不是从一个未知的噪声分布开始学习,而是通过一个特定的条件或者某...

2019-11-18 17:02:00 3636

原创 arg式子解释

arg 是变量(即自变量argument)的英文缩写。arg min 就是使后面这个式子达到最小值时的变量的取值arg max 就是使后面这个式子达到最大值时的变量的取值例如 函数F(x,y,z):arg min F(x,y,z)就是指当F(x,y,z)取得最小值时,变量x,y,z的取值arg max F(x,y,z)就是指当F(x,y,z)取得最大值时,变量x,y,z的取值...

2019-11-17 21:19:24 733

原创 深度学习_数学基础_概率论power(未完待续)

概率及其相关知识在机器学习与深度学习中的重要作用:先上定义哈哈哈**事件的概率:**衡量该事件发生的可能性的度量。(虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律)深度学习需要处理不确定量和随机量。不确定性和随机性可能来自多个方面,而概率知识可以对不确定性进行量化,这就为后面的模型进行优化提供了数学基础!由于深度学习算法...

2019-11-17 00:56:33 421

原创 Python中的None解释

None是一个特殊的常量。None和False不同。None不是0。None不是空字符串。None和任何其他的数据类型比较永远返回False。None有自己的数据类型NoneType。你可以将None复制给任何变量,但是你不能创建其他NoneType对象。...

2019-11-15 21:08:37 976

原创 算法面试笔试注意事项(未完待续)

解决面试题的思路:1.编代码前讲自己的思路,在做事之前明白自己要做的事情究竟是什么,以及该怎么做。2.解释清楚问题本身和问题解决方案是关键。3.在与面试官的对话中分析思路,发现方案中的错误和漏洞并加以改正。画图,举例和分解能够帮助我们解决复杂的问题。下面详细解释:一.画图图形能使抽象的问题形象化。当面试题涉及链表,二维数组,二叉树等数据结构时,如果在纸面上画出几张草图,则题目中隐藏的规...

2019-11-15 15:56:20 537

原创 C++ 链表ListNode list=new ListNode() ,ListNode list=new ListNode(0) 与 ListNode list=null 的区别

ListNode list=new ListNode()上面代码初始化一个空节点,没有值,接下来需要给他进行赋值。ListNode list=new ListNode(0)上面代码初始化一个节点值为0的空节点,比较方便简洁。ListNode list=null上面代码定义一个空链表。...

2019-11-13 09:53:12 5545 1

原创 深度学习_Pycharm_Pycharm相同代码颜色标亮

此功能需要安装第三方插件,Pycharm并没有自带。找到Preferences中的Plugins在搜索栏输入BrowseWordAtCaret,安装下载并重新启动即可。还可以自定义显示颜色:...

2019-11-13 00:21:29 2047

原创 AttributeError: 'numpy.ufunc' object has no attribute '__module__'问题解决方案

出现此问题的主要原因是numpy的版本造成的,可能是版本过高,也能是版本过低,需要卸载原来的numpy进行限定版本的安装:pip uninstall numpypip install numpy==1.14或1.15最后问题就解决了。...

2019-11-12 17:00:41 3603

原创 pip 安装opencv的注意事项

在python中,要使用OpenCV,要安装相应的package。在python脚本文件里,可以看到import cv2代码。但pip install 的名称不是cv2、或者Opencv,而是opencv-python.如上图所示,我使用了清华源,下载非常快。如大家想了解清华源,可以看我的其他博客。...

2019-11-12 16:48:03 640

原创 Linux_Ubuntu上进行anaconda3卸载

在ubuntu上卸载anaconda的步骤 :(一)删除整个anaconda目录:由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:rm -rf anaconda文件夹名(二)建议清理下.bashrc中的Anaconda路径:1.到根目录下,打开终端并输入:sudo gedit ~/.b...

2019-11-12 16:36:47 1972

原创 安装TensorFlow时遇到的问题之Cannot uninstall 'wrapt'. It is a distutils installed project的解决方案

在安装Tensorflow时遇到如下问题:并且普通的pip uninstall 并无法解决:这里给出的解决方法是:输入 pip install -U --ignore-installed wrapt enum34 simplejson netaddr

2019-11-12 16:28:00 481

空空如也

空空如也

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

TA关注的人

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