自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (1)
  • 收藏
  • 关注

原创 多维数组转一维数组(C)

C代码#include<stdio.h>#include<stdlib.h>//二维数组转一维/*以列为主的二维阵列要转为一维阵列时,是将二维阵列由上往下一列一列读入一维阵列,此时索引的对应公式如下所示,其中row与column是二维阵列索引,loc表示对应的一维阵列索引:loc = column + row*行数*/int main1(){ int num[3][3] =

2017-11-28 15:14:27 3351

原创 稀疏矩阵(C)

说明 如果在矩阵中,多数的元素并没有资料,称此矩阵为稀疏矩阵(sparse matrix ), 由于矩阵在程式中常使用二维阵列表示,二维阵列的大小与使用的记忆体空间成正比,如果多数的元素没有资料 , 则会造成记忆体空间的浪费 , 为 此 , 必须设计稀疏矩阵的阵列储存方式 , 利用较少的记忆体空间储存完整的矩阵资讯。C#include<stdio.h>#include<stdlib.h>int

2017-11-28 12:57:23 1063

原创 FCN中单张图片可视化的代码

仅参考import numpy as npfrom PIL import Imageimport sysimport matplotlib.pyplot as plt#import scipy.io as sioimport caffe#import caffeimport glob#fileList=glob.glob('/home/yangwb/JPEGImages/*.jpg')

2017-11-27 21:21:40 767

原创 二分法查找(C)

在二分搜寻法中,将数列不断的分为两个部份,每次从分割的部份中取中间数比对,例如要搜寻92于以下的数列,首先中间数索引为(0+9)/2 = 4(索引由0 开始): [3 24 57 57 67 68 83 90 92 95] 由于67小于92,所以转搜寻右边的数列: 3 24 57 57 67 [68 83 90 92 95] 由于90小于92,再搜寻右边的数列,这次就找到所要的数了: 3

2017-11-27 19:45:45 629

原创 基数排序(c)

基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。解法:

2017-11-27 16:34:44 278

原创 快速排序法二(C)

之前说过轴的选择是快速排序法的效率关键之一 , 在这边的快速排序法的轴选择方式更加快了快速排序法的效率。解法先说明这个快速排序法的概念,它以最右边的值s作比较的标准,将整个数列分为三个部份,一个是小于s的部份,一个是大于s的部份,一个是未处理的部份。具体例子如下图: 如图:初始化j=0;i=-1。用j去遍历数组,索引j所在位置的值如果小于s所在值,则交换(i+1)与j所在的值,否则,j++判断下一

2017-11-26 22:17:55 249

原创 快速排序法一(C)

快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。解法 这边所介绍的快速演算如下:将最左边的数设定为轴,并记录其值为 s 廻圈处理: 令索引 i 从数列左方往右方找,直到找到大于 s 的数 令索引 j 从数列左右方往左方找,直到找到小于 s 的数 如果 i >= j,则离开回圈 如果 i < j,则交换索引

2017-11-26 16:08:16 397

原创 排序法-改良的选择排序(C)

Heap排序法使用Heap Tree(堆积树),树是一种资料结构,而堆积树是一个二元树,也就是每一个父节点最多只有两个子节点(关于树的详细定义还请见资料结构书籍),堆积树的 父节点 若小于子节点,则称之为最小堆积(Min Heap ),父节点若大于子节点,则称之为最大堆积( Max Heap),而同一层的子节点则无需理会其大小关系,例如下面就是一个堆积树: 我们可以用数组来存储堆积树的所有元素和

2017-11-25 22:07:39 963

原创 shaker 排序法 - 改良的冒泡排序(C)

#include<stdio.h>#include<stdlib.h>/*shaker 排序法-改良的冒泡排序采用双向进行:先让气泡排序由左向右进行,再来让气泡排序由右往左进行 ,如此完成一次排序的动作,而您必须使用left与right两个旗标来记录左右两端已排序的元素位置。如:一个排序的例子如下所示:排序前:45 19 77 81 13 28 18 19 77 11往右排序:19 4

2017-11-25 15:03:51 577

原创 shell排序法-改良的插入排序(C)

说明插入排序法由未排序的后半部前端取出一个值,插入已排序前半部的适当位置,概念简单但速度不快。排序要加快的基本原则之一,是让后一次的排序进行时,尽量利用前一次排序后的结果,以加快排序的速度,Shell排序法即是基于此一概念来改良插入排序法。解法Shell排序法最初是D.L Shell于1959所提出,假设要排序的元素有n个,则每次进行插入排序时并不是所有的元素同时进行时,而是取一段间隔。 Shel

2017-11-24 21:38:45 310

原创 插入,选择,冒泡排序(C/python略)

C代码#include<stdio.h>#include<stdlib.h>//选择排序/*将要排序的对象分作两部份,一个是已排序的,一个是未排序的,从后端未排序部份选择一个最小值,并放入前端已排序部份的最后一个,例如:10 7 11 4 8 4 | 7 11 10 8 选出最小44 7 | 11 10 8 选出最小74 7 8 |10 11 选出最小84 7 8

2017-11-24 20:07:50 217

原创 得分排行(c/python)

说明 假设有一教师依学生座号输入考试分数,现希望在输入完毕后自动显示学生分数的排行 ,当然学生的分数可能相同。解法: 用排名的阵列去走访分数阵列 排名阵列rank[N+2] 接下来走访分数阵列score[N+1]: 并在分数所对应的排行阵列索引位置加1,如60分,则rank[60]++将分数排行的最右边设置为1,即rank[N+1]=1,然后依次将右边的元素加置左边一个元素 c代码#inc

2017-11-23 22:00:55 773

原创 m个元素的n元素子集(c/python略)

解法 假设有5个元素的集点,取出3个元素的可能子集如下: {1 2 3} 、 {1 2 4 } } 、 {1 2 5} 、{1 3 4} 、{1 3 5} 、{1 4 5} 、 {2 3 4} 、 {2 3 5} 、{2 4 5} 、 {3 4 5} 这些子集已经使用字典顺序排列,如此才可以观察出一些规则: 如果最右一个元素小于m,则如同码表一样的不断

2017-11-23 16:41:49 797

原创 产生可能的集合(C/python)

给定一组数字或符号 , 产生所有可能的集合(包括空集合 ), 例如给定1 2 3 , 则可能的集合为 : {}、{1}、{1,2}、{1,2,3}、{1,3}、{2}、{2,3}、{3}。非字典顺序如果不考虑字典顺序,则有个简单的方法可以产生所有的集合,思考二进位数字加法,并注意1出现的位置,如果每个位置都对应一个数字,则由1所对应的数字所产生的就是一个集合,例 如000 {} 001 {3

2017-11-23 11:22:57 595

原创 格雷码(c/python略)

Gray Code是一个数列集合 , 每个数使用二进位来表示 , 假设使用n位元来表示每个数好了 , 任两个数之间只有一个位元值不同:如三位数的格雷码: 000 001 011 010 110 111 101 100解法 观察奇数项的变化时,我们发现无论它是第几个Gray Code,永远只改变最右边的位元,如果是1就改为0,如果是0就改为1。观察偶数项的变化时,我们发现所改变的位元,是由右边算来

2017-11-22 20:26:54 401

原创 排列组合(c/python)

说明 将一组数字、字母或符号进行排列,以得到不同的组合顺序,例如1 2 3这三个数的排列组合有:1 2 3、1 3 2、2 1 3、2 3 1、3 1 2、3 2 1。 C代码#include<stdio.h>#include<stdlib.h>#define N 4void prem(int *, int);int main(){ int num[N + 1];; for

2017-11-22 14:53:32 2338

原创 约瑟夫排列(c/python)

说明 据说着名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中 , 39个犹太人决定宁愿死也不要被敌人到 , 于是决定了 一个自杀方式,41个人排成一个圆圈,由第1个人 开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他

2017-11-21 20:14:26 500

原创 洗扑克牌(乱数排列)(c/python略)

洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。原理:以1~52的乱数排列为例好了,可以将阵列先依序由1到52填入,然后使用一个回圈走访阵列,并随机产生1~52的乱数,将产生的乱数当作索引取出阵列值,并与目前阵列走访到的值相交 换 ,如此就不用担心乱数重复的问题了,阵列走访完毕后,所有的数字也就重新排列了。#include<s

2017-11-21 10:15:34 1795

转载 caffe python接口 测试分类:

原文链接#coding=utf-8#加载必要的库import numpy as npimport sys,os#设置当前目录caffe_root = '/home/xxx/caffe/' sys.path.insert(0, caffe_root + 'python')import caffeos.chdir(caffe_root)net_file=caffe_root + 'model

2017-11-20 22:11:46 484

转载 caffe python接口:可视化每层图像特征

原文链接import numpy as pyimport matplotlib.pyplot as pltimport sys,osimport caffe#设置当前目录caffe_root="/home/XXX/caffe/" #caffe所在路径os.chdir(caffe_root)sys.path.insert(0,caffe_root+'python')#显示图形大小为10

2017-11-20 22:00:02 535

转载 caffe python接口:参数及特征提取

原文链接 如果用公式 y=f(wx+b)来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。数据训练完成后,保存的caffemodel里面,实际上就是各层的w和b值。我们运行代码:deploy=root + 'mnist/deploy.prototxt'

2017-11-20 16:08:02 452

原创 caffe python:loss曲线

import matplotlib.pyplot as pltimport re##读取文件fp = open(r'C:\Users\yangwenbin\Desktop\abc.log', 'r')iterations = [] #初始化存放迭代次数的列表loss = [] #初始化存放loss的列表train_loss=[] #初始化存放train_loss的列表for ln

2017-11-20 15:58:03 276

转载 caffe python接口:用训练好的模型来分类

[原文链接](http://www.cnblogs.com/denny402/p/5685909.html)经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。我们从mnist数据集的test集中随便找一张图片,用来进行实验。#coding=utf-8import caffe

2017-11-20 15:55:32 207

转载 caffe python接口:deploy文件

[原文链接](http://www.cnblogs.com/denny402/p/5685818.html)如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。这里我们采用代码的方式

2017-11-20 15:46:03 235

转载 caffe python接口:mnist

[原文链接](http://www.cnblogs.com/denny402/p/5684431.html)深度学习的第一个实例一般都是mnist,只要这个例子完全弄懂了,其它的就是举一反三的事了。由于篇幅原因,本文不具体介绍配置文件里面每个参数的具体函义,如果想弄明白的,请参看我以前的博文:数据层及参数视觉层及参数solver配置文件及参数一、数据准备官网提供的mnist数据并不是图片

2017-11-20 15:40:52 187

转载 caffe python接口:模型训练

原文链接如果不进行可视化,只想得到一个最终的训练model, 那么代码非常简单,如下 :import caffecaffe.set_device(0)caffe.set_mode_gpu()solver = caffe.SGDSolver('/home/xxx/data/solver.prototxt')solver.solve()

2017-11-20 15:33:34 240

转载 caffe python接口:配置文件的生成(二)

[原文链接](http://www.cnblogs.com/denny402/p/5679154.html)caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下:base_lr: 0.001display: 782gamma: 0.1lr_policy: “step”max_iter: 78200momentum: 0.9

2017-11-20 15:27:54 264

转载 caffe python接口:配置文件的生成

[原文链接](http://www.cnblogs.com/denny402/p/5679037.html)caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。半年前,我在学习CAFFE的时候,为了加深理解,因此写下了随笔,有了一系列的caf

2017-11-20 15:10:19 277

原创 后序式运算(C/python略)

C代码(理论可参考中序式转后序)#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void jisuan(char *);float cal(float, float, char);void main(){ char input[80]; printf("中序式:"); scanf("

2017-11-17 19:37:25 599

原创 中序式转后序式,前序式(C/python)

中序表达式 (a+b)*(c+d) 后续表达式 ab+cd+* 前序表达式 *+ab+cd说明平常所使用的运算式,主要是将运算元放在运算子的两旁,例如a+b/d这样的式子,这称之为中序(Infix)表示式,对于人类来说,这样的式子很容易理 解,但由于电脑执行指令时是有顺序的,遇到中序表示式时,

2017-11-15 21:51:29 3946 1

原创 最大访客数(c/python)

说明:确定某一时间的最大容客量,用X[i],y[i]分别表示第i个访客来访和离开的时间;c代码#include<stdio.h>#include<stdlib.h>#define N 100void sort(int *, int);int main(){ int i, j; int number = 0; int x[N] = { 0 }; int y[N]

2017-11-15 16:58:48 815

原创 阿姆斯壮数(c/python)

在三位的整数中,例如153可以满足1 3 + 5 3 + 3 3 = 153,这样的数称之为Armstrong数C代码#include<stdio.h>#include<stdlib.h>int main(){ //int num; //printf("请输入一个三位数:"); //scanf_s("%d", &num); for (int num = 100;

2017-11-15 12:27:11 1301

原创 完美数(c/python略)

如果有一数n , 其真因数 (Proper factor ) 的总和等于n , 则称之为完美数(Perfect Number ), 例如以下几个数都是完美数: 6 = 1 + 2 + 3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248#include <stdio.h>#include <stdlib.h>#define P 10000bool

2017-11-15 12:06:39 610

原创 最大公因数,最小公倍数,因式分解(C/python略)

C代码#include<stdio.h>#include<stdlib.h>//最大公因数//最小公倍数int main1(){ int m, n, r; printf("请输入两数:"); scanf_s("%d%d", &m, &n); int s = m*n; while (n != 0) { r = m%n;

2017-11-14 18:47:59 1575

原创 筛选求素数和普通求法(C/python略)

素数:除了自身之外,无法被其它整数整除的数称之为素数C代码(普通)#include<stdio.h>#include<stdlib.h>#include<math.h>#define N 100//普通方法int main(){ int i, j; for (i = 2; i < N; i++) { for (j = 2; j <= sqrt(i);

2017-11-13 19:13:30 387

原创 背包问题(c/python)

假定背包的最大容量为W,N件物品,每件物品都有自己的价值和重量,将物品放入背包中使得背包内物品的总价值最大 假设有负重量 1~8的背包8个 构建N*W矩阵 行#0-4表示加入的物品编号 列0-8表示负重0-8的9个背包 (注最后一行3改成4) 如行号0,表示0号物体A,重4,只有在4号这个背包才能加入,后面背包5,6,7也只能加入4,8号背包可以加入两个A物体行号1,加入物

2017-11-13 13:25:59 426

原创 简单三色塔(c/python略)

类似于双色塔 代码功能: 三色:从下到上为红,蓝,黄 下面代码只能实现A中红色排列,B蓝,C黄#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>void move(int, char,char, char);void move_three_color(int disk){ char sours

2017-11-12 16:26:25 398

原创 双色河内塔(c/python)

思路:和河内塔类似,采用递归 1,将n个盘子,两两(不同颜色相同大小的盘子)组成一组即n/2组 2,n/2组即类似于河内塔,将n/2-1组进行河内塔操作,即把n/2-1从A 划到C,此时A中存在第n/2组(第一次河内塔操作) 3,将A中的第n/2组划到B,然后进行第二次河内塔操作,把C中的所有划到A中(此时A中有n/2组,B中是第n/2组) 4,将B中的第n/2组分开,即B中划一个盘子给C

2017-11-12 15:44:04 1139

原创 字串核对(c/python)

C代码#include<stdlib.h>#include<stdio.h>#include<string.h>int search(char *input, char *key, int p);void substring(char *test, char *temp, int h, int k);int skip[256];int main(){ char str_input

2017-11-10 22:07:49 509

原创 生命游戏(c/python)

生命游戏的规则可简化为如下: 邻居个数为0、1、4、5、6、7、8时,则该细胞下次状态为死亡。 邻居个数为2时,则该细胞下次状态为复活。 邻居个数为3时,则该细胞下次状态为稳定。c代码#include<stdio.h>#include<stdlib.h>#include<ctype.h>#define MAXROW 10#define MAXCOL 25#define DEAD 0

2017-11-08 21:01:14 499

图像与DCNN

2016-12-08

空空如也

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

TA关注的人

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