自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qiaofangjie的专栏

多做一些尝试

  • 博客(28)
  • 资源 (16)
  • 收藏
  • 关注

原创 c++重写卷积网络的前向计算过程,完美复现theano的测试结果

本人的需求是:通过theano的cnn训练神经网络,将最终稳定的网络权值保存下来。c++实现cnn的前向计算过程,读取theano的权值,复现theano的测试结果本人最终的成果是:1、卷积神经网络的前向计算过程 2、mlp网络的前向与后向计算,也就是可以用来训练样本需要注意的是:如果为了复现theano的测试结果,那么隐藏层的激活函数要选用tanh;否则,为了mlp的

2014-01-09 16:30:01 26568 27

原创 c++读写二进制文件

c++读写二进制文件,在windows与linux下可能会有不同的效果。本人写的一个小例子在linux下写入二进制数据正常,而在windows下面写入数据的过程中,竟然自动添加了0x25等等一些无意义的字节,找了好久才发现这个bug。下面是正确的写法void TestWriteBinary(){ const char *pcwritefile = "fileBinary.txt";

2013-12-18 19:35:34 4613

转载 在NumPy中使用动态数组

本文转自:http://hyry.dip.jp/tech/slice/slice.html/13NumPy的ndarray数组对象不能像list一样动态地改变其大小,在做数据采集时很不方便。本文介绍如何通过np.frombuffer()实现动态数组。列表对象的内存动态分配Python的列表对象实际上是一个动态指针数组。当列表中没有空间储存新的元素时,列表会动态地改变

2013-12-13 15:05:37 39854

原创 win7 64位成功安装theano,并且gpu配置成功

之前一直在linux下用theano,gpu很好配。上周需要在windows下工作,于是折腾了一周,刚才莫名其妙就配好了gpu。下面是我配置theano的经验:先上一个成功使用gpu的截图基本上是两步走:1、安装theano2、安装cuda注意在win7 64位下,python和cuda要统一,要么都用32位,要么都用64位的。在windows下最麻烦的可能就是

2013-12-06 20:02:16 30143 11

原创 统计大量文本中重复字符串的最大个数

有大量中文繁体的文本,都是网上摘取的,大小有6G。需要提取文本中相同的字符串的最大个数有几个关键问题:1.字符串的粒度如何确定?如何表示字符串的唯一位置索引?2.字符串过多,如何快速确定是否相同,时间复杂度要尽量低3.文本过多,无法放入内存怎么办4.如何统计相同hash值的个数,以及记录它们的索引位置对于1,每次读取一行,然后以100个字节为一组作为比较的字符串。每行最后一

2013-11-25 16:51:36 7091

原创 Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解

Deep Learning(深度学习)学习笔记整理系列的地址是http://blog.csdn.net/zouxy09/article/details/8781543,里面举了一个卷积例子用来说明参数.一个典型的例子说明       一种典型的用来识别数字的卷积网络是LeNet-5(效果和paper等见这)。当年美国大多数银行就是用它来识别支票上面的手写数字的。能够达到

2013-11-19 17:06:54 107798 21

原创 工作小结python和cpp通过json互通

这个月最后一天,对之前的工作做个小结,一会儿打球1.numpy保存的权值与c++交互,很困难,numpy的格式不好解析,网上资料很少2.采用python做中间转换,实现1的要求。后看theano代码,发现读入python的训练样本,不用转换成numpy数组,用本来python就可以了。但是python经过cPickle的dumpy文件,加了很多格式,不适合同c交互。3.用j

2013-10-31 19:24:18 1836

原创 c++实现mlp神经网络

之前一直用theano训练样本,最近需要转成c或c++实现。在网上参考了一下其它代码,还是喜欢c++。但是看了几份cpp代码之后,发现都多少有些bug,很不爽。由于本人编码能力较弱,还花了不少时间改正。另外又添加了写权值和读权值的功能,可以保存训练的结果。下面是代码实现的基本功能描述。问题描述:用cpp重写mlp,即普通的多层神经网络。需要实现多个隐藏层与输出层互连,分类层采用softma

2013-10-31 17:51:47 5916 2

原创 numpy数组与python的list互转,然后用json写入文件与c交互

1.对于numpy的tofile方法,一个一维数组可以直接写成二进制形式,用c语言或者numpy.fromfile()可以读出来内容。而如果数组超过一维,tofile并不区分,也就是arr1=[1,2,3,4],arr2=[[1,2],[3,4]]写入文件是一样的2.对于json写入numpy数组的想法,已知json只能写入python的数组,而不认识numpy的。难点在于如何将json的数组

2013-10-30 20:58:26 52040 9

原创 c语言write与python的struct模块交互

以下讲的都是用二进制形式打开文件。网上有很多struct模块的文章,下面是我做的小实验。1.对于c里面的fwrite写入一个单字节,写的就是它的二进制。如3,写入文件就是二进制0x03,它并不是3的ascii码,即0x33;而python的struct模块与它一样,例如val = struct.pack('B', 3),返回的val是字符串'0x03',write写入的参数必须字符串类型,因此

2013-10-30 10:17:17 1912

原创 2013-10-28,文件编码初探(留给自己看)

今天有些郁闷,上午把替换字符串的文本交给了chenxu。下午就折腾了个c读取不同文件编码,弄得头晕乎乎的1.文件存储在电脑上,同样的内容不同编码不一样。如同样是1234,用ascii码和unicode完全不一样2.notepad查看二进制文件有问题,16进制显示不全,下次用ue3.UCS就是unicode编码,UCS-2代表一个字符用两个字节存储。它又分为小端法

2013-10-28 19:29:21 972

原创 python替换UTF-8编码文本中任意特殊字符,包括中文符号

问题:大量文本,将其中的特殊字符用空格替换,特殊字符如:◆★,日期[1990-11-23]等。这些文本有如下特点:1.文件名以中文命名2.经测试,文件编码为UTF-8先看程序:# -*- coding: utf-8 -*-import reimport chardetimport osdef dowork(dirname): txt_filenames

2013-10-27 12:42:04 20819

转载 Installing CUDA Toolkit 5.0 on Ubuntu 12.10 Linux

转载:http://www.r-tutor.com/gpu-computing/cuda-installation/cuda5.0-ubuntuThe following explains how to install CUDA Toolkit 5.0 on 64-bit Ubuntu 11.10 Linux. I have tested it on a self-assembled de

2013-06-18 10:51:07 1224

原创 python中多次dump文件,需要多次load才能读取

创建一个文件,如果想要分多次写入数据data,显然每次都要调要dump,即def writefile(loop, data): name = 'wb' + str(loop) + '.txt' f = open(name, "wb") cPickle.dump(data,f,True) cPickle.dump(range(11, 21, 3),f,True)

2013-06-03 10:32:18 6041 1

原创 通过qt将二维数组中的像素点显示成一张图片

从文件42.train读入一个长度为dstSize*dstSize字节数据,存到一个数组psData中,这些数据全部是像素点的值,不包括文件头等辅助信息.通过qt创建一个gui工程,基类选择QWidegt,将图片显示出来。代码如下#include "widget.h"#include "ui_widget.h"#include #include typedef unsigned s

2013-05-23 14:34:14 13089 4

转载 C++编程学习50个经典网站 强力推荐

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、http

2013-04-03 11:19:44 1531

转载 薪资的意义

一个35岁左右的白骨精来找我们,她需要在两个工作里面做选择。一个是年薪30万的制片总监,一个是年薪10万的市场策划。她喜欢后者的节奏与内容,却被前面的工资吸引。我们仔细算了一下她的工作时间:前者是每天加班,节假日无休赶节目,每天工作近15个小时,后者则是8小时规律的生活。这样算下来,两者的时薪差不多,只是那份“好工作”把三年的活放到一年来做罢了。如果加上由此产生的未来医药费,简直比“坏工作”还不赚

2013-03-06 10:18:13 1190

转载 Linux环境变量的设置和查看方法

1. 显示环境变量HOME  $ echo $HOME  /home/redbooks  2. 设置一个新的环境变量hello  $ export HELLO="Hello!"  $ echo $HELLO  Hello!  3. 使用env命令显示所有的环境变量  $ env  HOSTNAME=redbooks.safe.or

2013-03-01 14:54:51 538

转载 ubuntu下软件安装卸载与查看

转载:http://www.cnblogs.com/balaamwe/archive/2011/10/27/2225919.html说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1

2013-01-28 11:43:10 578

转载 关于如何读代码?

转载:http://blog.csdn.net/leezy_2000/article/details/8475290读代码这事,先要分是精读还是泛读。从学习的目的来看,一定要精读一定量的经典代码。而精读是指每行都读懂,不看代码脑子里就能勾画出程序的基本结构。这里有个很形象的状态,精读代码时会满脑子都是代码,放不下,甚至睡觉前脑子里也是代码。但这一篇里主要不是关注如何精读

2013-01-22 11:50:47 806

转载 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

转载:http://www.cnblogs.com/figure9/archive/2013/01/09/2853649.html1,简介毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。 首先说说我拿到的offer情况:微软,3面->终面,搞定百度,3面->终面,口头offer搜狗,2面,悲剧腾讯,1面,悲

2013-01-18 14:29:58 3678

转载 从现在就开始投资自己吧

转载自:http://blog.csdn.net/jye13/article/details/8486178工作了,我们终于可以自己赚钱,只要我们好好工作,每个月都会有稳定的工资打到卡上。你会如何使用这些钱呢?是急急忙忙买个MacBook,还是赶紧把手机换成Iphone 4s,还是准备攒钱娶老婆?这引起了几个同学们的讨论,先说说我们的想法吧。你为什么不应该把钱存在银行里?稍

2013-01-11 17:12:54 766

原创 好用的vim配置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 一般设定"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 设定默认解码set fenc=utf-8set fencs=utf-8,usc-bom,euc-j

2012-12-26 19:09:44 1550

原创 排列组合算法的递归实现

复习一下排列组合1.排列较为简单,代码如下:void perm(string &str, int k){ int size = str.size(); if (k == size - 1) cout << str << endl; else { for (int i = k; i < size; ++i) { swap(str.at(i), str.at(k))

2012-10-19 11:22:14 4975 1

原创 红黑树、二叉搜索树的实现和性能比较(c++实现红黑树)

红黑树、二叉搜索树的实现和性能比较问题描述: 实现红黑树、二叉搜索树相关算法:插入(红黑树涉及树的调整:左旋、右旋等),删除,搜索(指定Key值节点)。 另外,红黑树实现计算树黑高的算法。实验要求:1).插入测试,输入 8,11,17,15,6,1,22,25,27,建立红黑树,按照红黑树信息输出方式 输出整棵红黑树以及黑高。2).删除测试,删除1)中红黑树中Key=15的

2012-05-19 22:12:29 9286 4

原创 递归:打印一个序列先入栈再出栈的所有可能

题目:一个序列,比如1,2,3。1入栈之后,有两种情况:一、2入栈;二、1出栈到目标数组。在程序执行的每个时刻都存在这两种肯能,因而会导致打印的结果不一样。要求:打印出所有可能的输出序列思路:递归遍历所有解空间,注意递归的时候要恢复每步的环境。我程序采用三个数组,源序列src[ ],模拟栈st[ ],目标数组dest[ ](也就是最后要打印的数组)。其中st[0]和dest[0]分别表示当前数

2012-05-19 20:55:46 4040 1

原创 微软面试题:三路划分快速排序---针对重复关键字的改进

这是2012年微软实习生招聘的面试题,可惜的是本人没有通过,但是这道题当时是做出来了题目:改写partition算法。要求:一次partition之后,小于基准元素key的数在左边,等于key的在中间,大于key的在右边思路:参照算法导论上的思想,做出改进:i指向小于基准元素的序列的末尾,j指向等于基准元素的序列的末尾,k指向当前遍历到的元素,说到这里应该可以了程序c++实现:

2012-05-12 11:43:52 2471 2

原创 归并排序,空间复杂度O(1)的实现

这是2012年百度实习生笔试的题目,当时没有想明白。题目大概是这样的:数组A,前面一段是L1,后面一段L2。两个有序序列L1和L2,利用归并排序的merge,将数组A排序。要求:空间复杂度为O(1)思路:利用原数组A的空间,两个下标i和j分别遍历L1和L2。注意:当L2当前元素较小时,会覆盖L1的元素。可以利用插入排序,将arr[j]插入到L1中。程序c++实现: #include

2012-05-12 11:10:51 9788 5

c++复现theano卷积神经网络的前向计算过程

通过theano的cnn训练神经网络,将最终稳定的网络权值保存下来。c++实现cnn的前向计算过程,读取theano的权值,复现theano的测试结果 本人最终的成果是: 1、卷积神经网络的前向计算过程 2、mlp网络的前向与后向计算,也就是可以用来训练样本

2014-01-09

c++实现多层神经网络

c++实现多层神经网络模型,工程用vs2008生成。 参考了网上多篇c++神经网络代码,修改多处bug,最终生成无bug版本的代码 测试例子为自己构造:将3位二进制转为10进制

2013-10-22

卷积神经网络详述

卷积神经网络是近年来广泛应用于模式识别、图像处理等领域的一种高效识别算法,它具有结构简 单、训练参数少和适应性强等特点。本文从卷积神经网络的发展历史开始,详细阐述了卷积神经网络的网 络结构、神经元模型和训练算法。在此基础上以卷积神经网络在人脸检测和形状识别方面的应用为例,简 单介绍了卷积神经网络在工程上的应用,并给出了设计思路和网络结构

2013-05-08

Google_CPP编程风格指南.

Google的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。 本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则可在允许代码有效使用C++语言特性的同时使其易于管理。 风格,也被视为可读性,主要指称管理C++代码的习惯。使用术语风格有点用词不当,因为这些习惯远不止源代码文件格式这么简单。 使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。 本指南的另一个观点是C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这类特性,并解释说为什么这些特性是被限制使用的。 由Google开发的开源项目将遵照本指南约定。 注意:本指南并非C++教程,我们假定读者已经对C++非常熟悉。

2013-04-10

你必须知道的495个C语言问题

本书是Summit以及C FAQ在线列表的许多参与者多年心血的结晶,是C语言界最为珍贵的财富之一。我向所有C语言程序员推荐本书。” ——Francis Glassborow,著名C/C++专家,ACCU(C/C++用户协会)前主席 “本书清晰阐明了Kernighan与Ritchie《The C programming Language》一书中许多简略的地方,而且精彩地总结了C语言编程实践,强烈推荐!” ——Yechiel M. Kimchi,以色列理工学院 C是一门简洁精妙的语言,掌握基本语法容易,真正能够自如运用,就不那么简单了。你难免会遇到各种各样的问题,有些可能让你百思不得其解,甚至翻遍图书馆,也找不到问题的答案。

2013-04-10

Linux C函数参考手册(PDF版).pdf

目录: 第1章、字符测试函数 第2章、数据转换函数 第3章、内存配置函数 第4章、时间函数 第5章、字符串处理函数 第6章、数学计算函数 第7章、用户和组函数 第8章、数据加密函数 第9章、数据结构函数 第10章、随机函数 第11章、初级I/O函数 第12章、标准i/o函数 第13章、进程及流程控制 第14章、格式化输入输出函数 第15章、文件及目录函数 第16章、信号函数 第17章、错误处理函数 第18章、管道相关函数 第19章、Socket相关函数 第20章、进程通道(IPC)函数 第21章、记录函数 第22章、环境变量函数 第23章、正式表达式 第24章、动态函数 第25章、其他函数 附录A 编译程序-gcc 附录B 宏与函数 附录C 不定参数 附录D Linux信号列表 附录E 常见错误代码及原因

2013-04-10

C#入门教程

目录 第一部分 C#语言概述 第一章 .NET 编程语言C# 1.1 Microsoft.NET 一场新的革命 1.2 .NET 与C# 1.3 C#语言的特点 1.4 小 结 第二章 运行环境全面了解.NET 2.1 .NET 结构 2.2 公用语言运行时环境与公用语言规范 2.3 开 发 工 具 2.4 小 结 第三章 编写第一个应用程序 3.1 Welcome 程序 3.2 代 码 分 析 3.3 运 行 程 序 3.4 添 加 注 释 3.5 小 结 第二部分 C#程序设计基础 第四章 数 据 类 型 4.1 值 类 型 4.2 引 用 类 型 4.3 装箱和拆箱 4.4 小 结 第五章 变量和常量 5.1 变 量 5.2 常 量 5.3 小 结 第六章 类 型 转 换 6.1 隐式类型转换 6.2 显式类型转换 6.3 小 结 第七章 表 达 式 7.1 操 作 符 7.2 算术操作符和算术表达式 7.3 赋值操作符和赋值表达式 7.4 关系操作符和关系表达式 7.5 逻辑操作符和逻辑表达式 7.6 位 运 算 7.7 其它特殊操作符 7.8 小 结 第八章 流 程 控 制 8.1 条 件 语 句 8.2 循 环 语 句 8.3 条 件 编 译 8.4 异常处理语句 8.5 小 结 第三部分 面向对象的C# 第九章 面向对象的程序设计 9.1 面向对象的基本概念 9.2 对象的模型技术 9.3 面向对象的分析 9.4 面向对象的设计 9.5 小 结 第十章 类 10.1 类 的 声 明 10.2 类 的 成 员 10.3 构造函数和析构函数 10.4 小 结 第十一章 方 法 11.1 方法的声明 11.2 方法中的参数 11.3 静态和非静态的方法 11.4 方法的重载 11.5 操作符重载 11.6 小 结 第十二章 域 和 属 性 12.1 域 12.2 属 性 12.3 小 结 第十三章 事件和索引指示器 13.1 事 件 13.2 索引指示器 13.3 小 结 第十四章 继 承 14.1 C#的继承机制 14.2 多 态 性 14.3 抽象与密封 14.4 继承中关于属性的一些问题 14.5 小 结 第四部分 深入了解C# 第十五章 接 口 15.1 组件编程技术 15.2 接 口 定 义 15.3 接口的成员 15.4 接口的实现 15.5 抽象类与接口 15.6 小 结 第十六章 组织应用程序 16.1 基 本 概 念 16.2 使用名字空间 16.3 使用指示符 16.4 程 序 示 例 16.5 小 结 第十七章 文 件 操 作 17.1 .Net 框架结构提供的I/O 方式 17.2 文件存储管理 17.3 读 写 文 件 17.4 异步文件操作 17.5 小 结 第十八章 高 级 话 题 18.1 注册表编程 18.2 在C #代码中调用C++和VB 编写的组件 18.3 版 本 控 制 18.4 代 码 优 化 18.5 小 结 第五部分 附 录 附录A 关 键 字 附录B 错 误 码 附录C .Net 名字空间成员速查 参 考 资 料

2013-03-27

可复用面向对象软件的基础

这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。 书中涉及的设计模式并不描述新的或未经证实的设计,只收录了那些在不同系统中多次使用过的成功设计。

2013-03-16

《Qt+Creator快速入门》pdf

本书是要讲解Qt creator开发环境的使用和Qt基本知识点的应用,适合没有Qt编程基础、有Qt编程基础但是没有形成知识框架以及想学习Qt中某一方面应用的读者阅读。因为书中的内容比较浅显,而且讲解很详细,所以读者可以根据自己的情况选择性学习

2013-03-06

QML与C++交互使用

我们知道 ,通过Qt Declarative module ,C++可以动态创建和操纵QML的组件(cpmponents) ,我们利用这些API使用C++来拓展我们的QML程序,反过来也可以将QML嵌入到你的C++程序中。通过Qt的元对象系统( Qt‘s metaobject system),我们可以利用Qt中的信号与槽机制使QML 和 Qt objects 相互通信(communicate)。另外,QML plugins可以用来创建可复用的QML 组件。

2013-01-21

QML培训资料

QML (Qt Meta-Object Language),是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言。QML是一种陈述性语言,用来描述一个程序的用户界面。文件格式以.qml结尾。语法格式非常像CSS,但又支持javacript形式的编程控制。在QML,一个用户界面被指定为具有属性的对象树。 这使得Qt更加便于很少或没有编程经验的人使用。 JavaScript在QML中作为一种脚本语言,对QML进行逻辑方面的编程。 它结合了QtDesigner UI和QtScript的优点。QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。

2013-01-17

qt学习之路

qt入门的整理,一本简单的文档,挺好 Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的<string>,因为Qt有它自己的QString等等。或许这样说很偏激,但Qt确实是一个“伟大的C++库”。

2013-01-14

linux常用命令+pdf

linux常用命令,对于初学linux的同学很有用,希望对大家有所帮助,哈

2011-02-27

linux程序设计第四版

linux程序设计第四版电子书,适合初学者入门学习linux,挺好的

2011-02-27

空空如也

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

TA关注的人

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