自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [代码重构] 重构原则

本系列博客主要是对于《代码:重构》做阅读笔记,提炼总结书中的要点内容

2022-07-10 21:58:27 164 1

原创 数据增强-RanDom Erasing Data Augmentation[论文笔记]

RanDom Erasing Data Augmentation随机遮盖-数据增强论文链接Abstract作者想解决什么问题?question增强模型鲁棒性,减少模型过拟合作者通过什么理论/模型来解决这个问题?method通过论文提出的Random Erasing,对图片进行随机的遮挡,也可视为添加噪声Introduction作者为什么研究这个课题?为了提高CNN的泛化能力,有许多数据增强方法提出( random cropping,flipping,dropout,bn).对数据做阻塞

2020-06-05 22:33:17 697

原创 WRN[论文笔记]

论文: Wide Residual Networks论文地址简介随着模型深度的加深,梯度反向传播时,并不能保证能够流经每一个残差模块的权值,以至于它很难学到东西.训练十分深的残差网络仍会有特征重用消失的问题,训练速度会减慢.wide residual networks (WRNs)减少深度,但是增加了残差块的宽度.作者希望使用一种较浅的,但是宽度更宽的模型,来更加有效的提升模型的性能.说...

2020-04-25 17:58:30 494

原创 迁移学习综述

论文:A Survey on Deep Transfer Learning论文地址迁移学习迁移学习是深度学习中解决训练数据不足问题的重要工具.它试图通过放宽训练数据和测试数据必须为独立且分布均匀( i.i.d )的假设,将知识从源域迁移到目标域.主要解决问题:目标域的数据十分稀缺定义给定基于数据 Dt 的学习任务 Tt ,我们可以从数据 Ds 中获取对任务 Ts 有用的知识.迁移学习旨...

2020-04-25 16:31:12 1016

原创 Inception-V3论文笔记

《Rethinking the Inception Architecture for Computer Vision》的笔记,粗略的记下了比较重要的几点.论文还有未看完的,这些之后再补充.设计网络原则1.避免表征瓶颈。大部分时候,特征大小应当缓慢变小,在变小的同时增加维度。(下采样是减小信息,而升维是增加信息)[以免降维时丢失信息过多]2.高维特征更容易局部处理,收敛更快。(高维易分)[这...

2020-03-26 22:00:57 199

原创 Linux基本指令三(挂载)

挂载命令linux上面有一个很特殊的地方,所有东西都是文件,包括设备。命令:mount #查看系统中已挂载的设备/etc/fstab为系统中的自动挂载文件,在这里面会有设备挂载信息 永久挂载的话需修改fstab文件永久挂载设备 eg.vi /etc/fstab 添加 挂载设备(挂载分区) 挂载点 格式 default 0 0mount -a

2019-02-22 12:58:45 220

原创 Linux学习笔记--文件管理

cat -n 将行号也输入到屏幕上block 磁盘可以记录的最小单位,由数个扇区组成inode,block是记录文件内容数据的区域,inode则是记录该文件的属性及其放置在哪个block的信息。每个文件占用一个iNode。查找文件,先搜inode table查找文件属性等。ln硬链接,再建立一个iNode链接到文件放置的block块。有两个限制,不能链接目录,不能跨文件系统,不同的文件

2019-02-22 12:58:10 184

原创 SVN(二)---客户端篇

SVN使用–客户端篇常见术语检出:从SVN同步代码到本地工作副本:本地的代码,用于本地开发提交:完成代码开发后,将代码同步到SVN上版本:每一次同步便产生新的版本文件状态无版本控制:不在SVN的版本控制下的文件,如新创建的文件冲突:因为同步冲突而产生的冲突锁定:因为某一方锁定文件,无法使用客户端命令svn //版本库的检出/更新/提交等检出SVN内容所谓检出也即是将svn的内容同步到本地图形

2017-12-28 17:45:31 279

原创 SVN(一)---服务端使用

SVN各种版本控制工具三者都支持并发修改。CVS:集中式管理,需要服务器维护下面两者可以追溯历史轨迹GIT:支持并发提交,分布式管理SVN:支持并发提交,集中式管理,需要服务器维护SVN使用–服务端篇安装//软件包 subversionapt-get install subversion//包内包含服务端和客户端服务端命令svnserver //控制svn系统服务启动等 svnadmin

2017-12-28 17:43:57 348

原创 PHP下MySQL的基本使用函数

//当编码设置错误时,可以在php的第一行添加header(),设置编码//当如果不设置的话,那么从数据库中读取的中文字符有可能会出现乱码header("Content-type:text/html;charset=utf-8");数据库中核心函数mysql_connect($host, $user, $pass); //建立数据库连接mysql_select_db(

2017-12-21 21:06:00 459 1

原创 vim基本使用(笔记)

vim共分有三种模式,一般模式,编辑模式,命令行模式 一般模式->编辑模式:i,回去是esc 一般模式->命令行模式::,回去是esc一般模式一般拿来查看文件内容一般模式下快捷键:0 #移到这行最前面字符 $ #移到这行最后面字符 G #移动到文件最后一行 nG #移动到文件第n行 gg #移动到文件第一行 N #光标向下移动n行/word 向下查找word关键字:n1,n

2017-03-28 22:42:59 307

原创 shell script基础

shell前面需写上#!/bin/bash 可以用echo向屏幕中输出内容,加上-e后可使用转义符 eg echo -e “Hello World\n\a”用read可以读取输入内容shell script中可以进行运算,但是记得每个变量类型是字符串。所以进行运算时需要声明 declare -i sum= num1+num1+num2 或者直接写作sum=$((num1+num2))判断表达

2017-03-22 13:15:33 383

原创 Linux正则表达式(笔记)

通配符:用来匹配符合条件的文件名,适用于ls,find,cp命令,但是却不能用于处理字符串的。* #匹配1-多个字符find system.*? #匹配1个内容find shad?w[] #匹配括号中的内容find shado[a-z]但是Linux中的正则表达式和通配符不是同一个概念。这个需要区分。正则表达式:用来在文件中匹配符合条件的字符串。适用于grep,awk,sed对文件的操作,在L

2017-03-20 21:21:06 630

原创 哈希表

哈希表定义:如果记录的关键字与存储位置存在一一映射的关系,你们就可以通过待查记录的关键字,计算其存储位置,直接找到该记录。关键字K到D的映射关系H表示为H(key):K->D,key∈K K为主关键字集合,H称为哈希函数或散列函数。D为一个连续的存储单元。按照哈希函数构建的表称为哈希表/散列表。同时有关的重要概念是D的大小m,即哈希表的地址区间长度。另外一个概念是冲突,即如果

2016-11-16 17:15:21 867

原创 Linux基本指令二(关机、解压缩)

Linux的关机操作:命令格式:shutdown [选项] 时间shutdown -r 时间 #这样会自动锁死,即无法再执行任何命令。shutdown -r 时间 & #&把任务放到后台执行,不会锁死。这里是指把关机指令放到后台中执行,所以用户还可以在关机时间前执行其他指令。选项: -c 取消关机命令 -h 关机 -r 重启关机不太安全的指令命令:

2016-11-15 15:43:28 270

原创 Linux基本指令一(笔记)

命令提示符:[root@Localhost ~]# root 为当前用户 Localhost为主机名 ~为当前所在目录(‘~’是根目录) ‘#’是超级用户 ‘$’是普通用户命令格式: 命令 [选项] [参数]查询目录中内容: ls [选项] [参数] 选项: -a 显示所有文件,包括隐藏文件。(隐藏文件为‘.filename’,例‘.abc’) -l 显示详细

2016-11-15 15:03:59 398

原创 快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产

2016-10-23 23:19:23 468

原创 计数基数排序法

基数排序:将记录的关键字看成由m个关键字复合而成,每个关键字可能取r个值,则只要从最低位关键字器,先按关键字的不同值将记录“分配”到r 个子序列,再按从小到大将各子序列依次首尾相接“收集”在一起,如此重复m趟,最终完成整个记录序列的排序。 例如:分扑克牌,先把每张牌分为4个花色,各自排序后,以黑桃到砖块的顺序相接在一起。基数排序分为链式基数排序和计数基数排序。 计数基数排序是在顺序存储结构中实现

2016-10-21 12:03:49 1024

原创 希尔排序

希尔排序其实是直接插入排序的一个拓展。虽然没有直接证明说明希尔排序比直接插入排序快,但是在并行运算上,希尔排序的确十分优秀。而且这是一个不稳定的排序算法。为什么用希尔排序: 直接插入排序有个不足之处是当一个数组是十分无序的状态时,排序的时间复杂度较久。特别是要将一个逆序的数组排为顺序的数组,这个逆序的数组相当于完全无序的,而直接插入排序需要的时间久。(数据多时,且无序)而如何使排序时间减少呢,那么对

2016-10-15 14:52:19 1222

原创 栈应用之共用栈

为什么用共用栈:栈的顺序存储还是很方便的,但是当一个栈的容量空间不够了,我们就需要另开辟一段内存,这很麻烦。所以,我们干脆弄一个足够大的内存空间,然后让两个数据类型相同的栈来共享这个空间。 共用栈的实现原理:共享栈,即是两个栈使用同一段存储空间。第一个栈从数组头开始存储,第二个栈从数组尾开始,两个栈向中间延伸。参考博客: http://www.cnblogs.com/xing901022/p

2016-10-13 19:07:54 931

原创 线性表应用-有序顺序表归并

有序表归并算是顺序表中的一种算法操作,是顺序表其他应用的基础,例如,一元稀疏多项式运算和稀疏矩阵。 有序表归并是指将两个已经排好顺序的顺序表A,B,合在一起组成一个新的有顺序的顺序表C。 算法操作可以分为: 1、为新的顺序表listMerge分配内存空间,并初始化C(指定大小等) 2、插入,先比较list1和list2的数据哪个大哪个小,并按照大小顺序逐个插入到listMerge中 3

2016-09-24 08:19:32 3107

原创 模板函数(笔记)

模板函数: 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。是通用函数的描述,泛型定义函数。需注意的是,模板函数不创建任何函数,只是告诉编译器如何编译。也就是说模板函数本身不占任何空间,只有定义了特定类型后才需空间储存这个函数。为什么使用模板函数: 当使用不同类型参数函数时,能够节省时间修改函数,而且不用手工

2016-09-17 00:31:00 592

原创 C++引用(笔记)

引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;eg.int rat = 100;int & rodent = rat; //rodent是rat的引用引用的几个特点: 1、引用和原变量具有相同的值,地址也是相同的。可以说,rat相当于一个人的名字,rodent是

2016-09-13 17:44:03 290

原创 链表C版

链表的介绍主要看之前写的c++版链表,这里就不再多说了。 http://blog.csdn.net/sherilindas/article/details/52207222先看头文件头文件 LinkList.htypedef struct LinkList //定义节点{ int data; struct LinkList* next;}List;List* cr

2016-08-18 12:20:26 342

原创

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。入栈是从栈顶入,出栈也是先从栈顶出。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。是FILO(first in ...

2016-08-16 10:09:23 543

原创 线性表之链表C++版

链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。每个结点都应包括两个部分:一为用户需要用的实际数据,即数据域,二为下一个结点的地址,即指针域。链表有一个“头指针”变量,以head表示,它的指针域存放一个地址,它也可以有数据域,但是没有意义,不过可用于存放链表长度。该地址指向一个元素。链表中每一个元素称为“结点”,因此,head指向第一个元素:第一个元素又指向第二个元素;…

2016-08-16 09:11:21 1046 2

原创 线性表之顺序表

线性表线性表是由n(n≥0)个相同类型的数据元素构成的有限序列。对于这个定义应该注意两个概念:一是“有限”,指的是线性表中的数据元素的个数是有限的,线性表中的每一个数据元素都有自己的位置。二是“相同类型,指的是线性表中的数据元素都属于同一种类型。线性表又分为顺序表和链表。顺序表(数组)的概念顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表

2016-07-25 18:06:41 685

原创 环形队列

生活中有很多队列的例子,比如说到火车站买票什么的,当然先到先买,派头的买完票就可以出队列了,而想上车的人就要到队列尾排队。我们都是新世纪的好青年,所以我们也不会也不允许插队。而从生活中,我们可以抽象出队列的概念。队列就是一个能够实现“先进先出”(FIFO(first in first out))的存储结构。队列分为普通队列和环形队列。先讲一讲普通队列,这样有助于理解环形队列的好处。普通队列普通队列

2016-07-16 23:50:19 13495 1

原创 插入排序-Insert Sort

首先,把首个元素当做已排好的元素(如下图(a)中,4为已排好的元素)。 然后接着每步把下一个元素抽出来称为E元素(如下图(b)中,3为抽出来的元素E)。 E元素与前面的元素对比,如果比前一个元素小,则前一个元素后移(如图(c)中,3<4,4往后移)。 然后这个E元素继续往前比,小则前一个元素往后移。直到前一个元素比E小,E将插入这个地方。这步完成后E将会传到该在的位置(如图(d))。 所以经

2016-07-12 23:26:14 1164

转载 C/C++代码命名和格式规范

c++的代码明显比c的代码复杂多了。所以代码命名和格式规范也是很值得学习的。本文不是原创而是转载。算是我的一个学习c++过程中的笔记摘抄。文章转自 dream2009gd博客: http://blog.sina.com.cn/s/blog_63a9d9f301015q67.html命名命名,包括文件名、类名、结构名、类型名、函数名、变量名、参数名等都是程序设计中重要的一部分。一个好的名称,体现

2016-06-20 23:49:13 1117

原创 Cin和Cout

与c语言中printf和scanf不同的是,c++中用了cout和cin。而且printf和scanf是函数,而cout和cin是运算符(??) c++中cin较好用之处在于能够识别空格??? 例://c语言中int a;char b;scanf("%d%f", a, b);//此如果输入中输入一个整型数据加空格再加一个字符//那么此时空格会被b接收//而在c++中in

2016-06-17 08:07:13 498

原创 C++重载函数

C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。函数重载有什么好处? 重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好...

2016-06-15 09:40:36 22381 4

原创 结构体练手

//刚学了结构体,来一个程序练练手//功能是要输入2位学生的信息,并将分数高的学生输出//源代码在下:#includeint main(){ struct Student //定义结构体Student,包括信息为学号,姓名,成绩,地址 { int num; char name[20]; float score;

2016-04-07 23:57:03 310

原创 用指向数组的指针作函数参数.etc

今天还是以课本上的例子为主。有一个班,3个学生各学四门课,计算总平均分及第n个学生的成绩。先定义一个计算平均值得函数,average。void average(float *p,int n){ float sum=0,aver; float *end=p+n-1; //当n=12时,end的值是p+11,指向最后一个元素 for(;p<=end;p++)su

2016-04-01 00:12:35 820

原创 求数列的和

Problem Description数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。 Input输入数据有多组,每组占一行,由两个整数n(n Output对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。 Sample Input81 42

2016-03-08 22:15:27 736

原创 折半查找法

折半查找法:折半查找法是效率较高的一种查找方法。假设有已经按照从小到大的顺序排列好的五个整数a0~a4,要查找的数是X,其基本思想是: 设查找数据的范围下限为l=1,上限为h=5,求中点m=(l+h)/2,用X与中点元素am比较,若X等于am,即找到,停止查找;否则,若X大于am,替换下限l=m+1,到下半段继续查找;若X小于am,换上限h=m-1,到上半段继续查找;如此重复前面的过程直到找到或者

2016-02-16 22:56:43 588

原创 有已排好序的数组,要求输入数后按原来排序规律插入数组中

有已排好序的数组,要求输入数后按原来排序规律插入数组中,这是题目。之前在我写的 改变矩阵元素的位置 中我曾说过,要移动数字,可以先挖一个坑然后将后面的一个个补上,最后在把挖出来的填上于是我试着用这个思路做了一次,但是挖坑算法给自己挖了个坑,坑了自己,弄了整个晚上。。。#includeint main(){int i=0,j=0,t=0;int a[11]={

2016-02-05 14:10:21 4666

原创 筛选法选素数

利用筛选法将1-100的素数选择出来。#includeint main(){    int a[101],i,j;    for(i=1;i    a[1]=0;    for(i=1;i        for(j=i+1;j            if(a[i]!=0&&a[j]!=0)              //这里一定要加,否则如果前面已经把后面的数挖

2016-02-05 13:48:25 354

原创 冒泡排序算法

冒泡排序,这是之前学的一种算法把。是给定排序不规则的数,通过循环来排序的。首先外循环负责比较的趟数,内循环负责比较每趟内的两两比较。如果由小到大来排的话,找到小的数就把它往前挪,所以就叫冒泡排序。在当时对自己来说还是挺难的,想了一晚上都没想出。附刚开始学这个算法时自己写的:#includevoid main(){int i,j,a[10],t;printf("pleas

2016-02-05 13:28:45 312

空空如也

空空如也

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

TA关注的人

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