- 博客(14)
- 资源 (8)
- 收藏
- 关注
原创 C++算法八:快速排序
最流行的排序算法,速度最快的排序算法1962年,C.A.R. Hoare发明了快速排序算法pivot:枢轴递归快速排序算法首先选取枢轴,一般选取最左边或最右边的值为枢轴,然后从数组的左右两端的值开始与枢轴的值进行比较,如果左边的值大于枢轴的值,右边的值比枢轴的值小则进行位置交换。#include <iostream>using namespace std;template<cla...
2018-05-29 20:13:31 157
转载 Deeplab V1、v2要点
背景: CNN的一个特性是不变性,这个特性使得它在high-level的计算机视觉任务比如classification中,取得很好的效果。但是在semantic segmentation任务中,这个特性反而是个障碍。毕竟语义分割是像素级别的分类,高度抽象的空间特征对如此low-level并不适用,比如图像分割细节、边缘。 所以,要用CNN来做分割,就需要考虑两个问题,一个是feature map的...
2018-05-29 14:51:52 1649
原创 SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation要点
max-pooling indics:在SegNet中,深度编码器 - 解码器网络被联合训练用于监督学习任务。Segnet移除了全连接层,这样可以使其比其他许多近来的结构(FCN,DeconvNet,ParseNet和Decoupled)显著的小并且训练起来更容易。SegNet的关键部件是解码器网络,每个解码器对应于一个编码器。其中,解码器使用从相应的编码器得到的ma...
2018-05-28 21:30:14 795
原创 FCN:Fully Convlutional Networks for semantic segmentation要点
FCN首先将深度学习引入到语义分割领域,网络的要点总结如下:1. 将全连接层变为卷积,好处:①传统的分类网络,比如LeNet、AlexNet等,只接受固定尺寸的输入并产生非空间输出,原因在于全连接层参数的限制,而且这些网络在通过全连接层把输入展开成向量的时候丢失了图片原有的空间信息。以VGG16和PASCAL数据集为例,网络去除了最后的分类层,并将所有的全连接层转化为上述的卷积层,然后添加了一层1...
2018-05-28 19:30:04 439
原创 PSPNet-tensorflow实现并训练数据
代码下载地址:https://github.com/hellochick/PSPNet-tensorflow下载预训练模型地址(需翻墙):https://drive.google.com/drive/folders/1S90PWzXEX_GNzulG1f2eTHvsruITgqsm?usp=sharing 放在./model/文件夹下,并将checkpoint后的格式.txt删除。修改train...
2018-05-23 10:57:57 10040 64
原创 C++算法七:插入排序
低级排序冒泡排序(低级排序中速度最慢)选择排序插入排序(低级排序算法中最快的)#include<iostream>using namespace std;template<class T>void InsertionSort(T *a,int n);template<class T>void InsertionSort_2(T *a,int n);void ma...
2018-05-23 10:55:06 160
原创 C++算法六:递归
递归的神,迭代的是人自己调用自己可以使用递归都可使用迭代(循环),递归在计算中需要暂存消耗内存,计算速度慢,优点清楚容易理解。#include<iostream>using namespace std;void doA(){ cout<<"hello"<<endl; doA();}int jiecheng(int n){ if (n =0) ...
2018-05-17 19:10:49 149
原创 C++算法五:二分查找(折半)查找
二分查找是对排序的数据进行排序,查找效率非常高。2的20次方是100万,就是(1M),折半查找100万个数据只需要20次2的30次方就是10亿,也就是(1G),折半查找只需要30次#include <iostream>using namespace std;int BinarySearch(int *a,const int x, const int n);int main(){ ...
2018-05-17 19:05:55 362
原创 C++算法四:顺序查找
顺序查找与折半查找(二分查找)没有顺序排序的数据:只能顺序查找,如果数据排序了使用顺序查找和折半查找都可以。顺序查找:速度慢例如:100万个数据,平均要查找50万次#include<iostream>using namespace std;int SequentialSearch(int *a,const int n, const int x);int main(){ int m...
2018-05-17 17:19:50 4512
原创 C++算法三:选择排序
冒泡排序和选择排序都是低级排序,效率比较低。低级排序最简单的是冒泡排序。从当前未排序的整数中找一个最小的整数,将它放在已排序的整数数列列表的最后。要点:选择排序选最小的,往左边选。冒泡排序是选择最大的,而选择排序选择最小的,但是选择排序要相对冒泡排序要快,是因为冒泡排序中间有许多交换的操作,选择排序要找到最小然后进行交换。#include<iostream>using namespac...
2018-05-17 09:08:49 361
原创 C++算法二:冒泡排序
冒泡排序效率非常低,实际的软件的很少用,除了数据非常少。从左向右扫描数据,选择最大的的数据,放在右边。要点:比较相邻的两个数,如果左边的数据大于右边的就进行交换。#include<iostream>using namespace std;void BubbleSort(int list[],int n);//冒泡算法只有四行int main(){ int a[] = {2,4,6...
2018-05-15 22:04:49 140
原创 C++算法一:交换算法
本博客主要素材是观看算法视频的个人笔记,内容有些粗率,当作算学习的记录,后续会不断完善,欢迎交流。最基础的算法:交换(swap)常见的的交换算法主要有以下几种:void swap(int x,int y) -这种方法不行方法一:void swap(int *px,int *py)方法二:#define swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))方法三:void swa...
2018-05-15 21:05:40 1235
原创 deeplabv2实现并训练自己的数据
一、安装必要的依赖库 matio安装方法1: sudo apt-get install libmatio-dev 安装方法2: 下载matio(https://sourceforge.net/projects/matio/files/matio/1.5.2/) tar zxf matio-1.5.2.tar.gz cd matio-1.5.2 ./configure make make check...
2018-05-10 22:34:10 3940 2
原创 部分Caffe 报错解决方案
1、error: function “atomicAdd(double *, double)” has already been defined解决方案:修改该caffe目录下的common.cuh,在atomicAdd前添加宏判断即可:#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600#else __device__ double a...
2018-05-10 22:09:23 486
Snake主动轮廓模型的C++实现
2018-07-22
电脑配置文件
2018-07-07
ColorTransfer C++版
2018-04-29
ColorTransfer代码C++版
2018-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人