自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常思考->有目标->重实践->善反思

常思考->有目标->重实践->善反思

  • 博客(946)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++ STL源码实现以及分析之vector

本文主要内容如下:1. 前篇blogC++ STL空间配置源码分析以及实现二介绍了空间配置器allocator以及vector构造、析构函数的基本实现。2. 此篇blog主要通过一下几个方面,说明vector的实现原理vector的move构造函数的定义vector 的 erase clear pop_back 三个函数,以及size_t与 ptrdiff_t的区别ve...

2018-06-09 20:03:23 7086 1

原创 C++ STL空间配置源码分析以及实现二

本文主要内容如下:1. 在上篇文章的基础上,通过实现简单的vector来说明空间配置对容器的作用。2. c++中在已经分配好的内存上面构造对象(调用对象的构造函数),一般C++中new object会同时分配内存调用对象的构造函数。但是容器是在空间配置器已经分配好的内存上面直接构建对象(等价于调用对象的构造函数)3. C++11判断类型是否是pod(std::is_po...

2018-06-04 21:14:32 1496

原创 C++ STL空间配置源码分析以及实现一

本文主要内容如下:1. STL为什么需要空间配置器2. STL空间配置器实现的原理3. STL空间配置器简单的测试前言很久以前看过侯捷先生的STL源码分析一书,也大致明白了STL实现的原理,但是对于编程而言,如果自己不去实现代码,调试代码,光看书,其实很难深刻的理解STL源码的逻辑(光是看书顶多也就是了解的水平,当然这是对于一般的程序员而言)。前段时间决定实现一...

2018-06-03 20:49:19 1742 1

原创 cmake教程4(find_package使用)

本文主要内容如下:1. cmake find_package的基本原理2. 如何编写自己的 cmake module模块3. 使用cmake find_package 使用不同版本的opencv lib问题(opencv 安装在指定的目录,不是系统的目录)1. cmake find_package的基本原理当编译一个需要使用第三方库的软件时,我们需要知道:...

2018-06-03 19:34:31 66297 2

原创 CMake示例教程三

本文主要内容如下:1. 使用CMake将多个文件编译为可执行文件(包括cmake普通的set变量, file、aux_source_directory获取文件名三种方法)。2. 多目录cmake使用。3. 使用cmake生成静态,动态lib,以及lib和头文件的安装,以及安装到指定路径;lib版本的生成;如何卸载(实际上是删除)cmake安装的lib以及头文件。...

2018-05-22 21:19:35 1482 2

原创 cmake教程二,变量以及flow control

本文主要内容如下:cmake中variable以及nested variable的使用flow control (if foreach)的基本使用1 cmake中variable以及nested variable的使用主要的命令: cmake -p CMakeLists.txt, 其中-p主要是运行cmake不生成cmake中间文件。1.1 cmake中variabl...

2018-05-21 21:14:22 1159

原创 CMake 教程一

本文主要内容如下:使用cmake将单个C++文件,编译为可执行文件对比cmake 编译为DEBUG版本和RELEASE版本的区别 (文件的执行效率,以及文件大小)1. c++ 执行1亿次count,然后输出count结果, 以及耗时毫秒数主要代码如下:std::cout << "Hello, World!" <<

2018-05-21 21:00:12 1698

原创 tensorflow CNN mnist 示例

本文给出使用tensorflow使用CNN构架的mnist分类问题:构架图如下:代码如下:1. 准备输入数据:# declare the training data placeholders# input x - for 28 x 28 pixels = 784 - this is the flattened image data that is drawn from# mnist.train.

2018-03-27 20:19:00 997 1

原创 tensorflow mnist神经网络示例

本文讲述使用tensorflow解决mnist分类问题:使用一个隐藏层神经网络784 * 10分类mnist使用两个隐藏层神经网络784 * 300 * 10分类mnist其中单层784 * 4隐藏层的网络构架如下图:具体代码如下:# coding:utf-8import tensorflow as tffrom tensorflow.examples.tutorials.mnist imp

2018-03-26 21:00:49 543

原创 c++11 线程池实现以及示例

线程池的使用在工作中非常普遍,对于java,python而言线程池使用还是比较方便。去年年底由于工作需要,用c++搭建一套工程代码,需要使用线程池,但是C++中并没有现有的线程池,为了快速开发,以及代码的稳定还是google在github上面找到了一个不错的C++11实现的版本,然后做了一点修改(兼容服务器gcc4.7)。通过这一个线程池的实现,收获如下:1. 更加深入的理解了线程池2. 熟悉

2018-03-22 21:00:41 2745 1

原创 crnn docker/nvidia-docker 安装

本文主要是记录使用docker/nvidia-docker安装深度学习图片文字识别,开发运行环境. 在做图片文字识别的,需要用到CTPN以及crnn,服务器是ubuntu16的,但是上述两种框架(github现有的)只能运行在ubuntu14上面。考虑到,发布等问题,决定使用docker在ubuntu16搭建ubuntu14 cuda7.5 cudnn3开发运行环境。 crnn的

2018-03-22 19:29:11 1182 1

原创 CTPN docker/nvidia-docker 安装

本文主要是记录使用docker/nvidia-docker安装深度学习图片文字识别,开发运行环境. 在做图片文字识别的,需要用到CTPN以及crnn,服务器是ubuntu16的,但是上述两种框架(github现有的)只能运行在ubuntu14上面。考虑到,发布等问题,决定使用docker在ubuntu16搭建ubuntu14 cuda7.5 cudnn3开发运行环境。服务器系统为ubuntu1

2018-01-21 19:39:29 1550 1

原创 kaggle-2美国人口普查年收入50K分类

本文主要是使用xgboost, RandomForestClassifier算法实现美国1994年人口普查数据,居民年收入是否超过50K的分类问题。主要内容如下:1 数据预处理数据信息查看,添加对应的列标签缺失值处理,以及属性值替换Ordinal Encoding to Categoricals(string 特征转化为整数编码)2 模型训练以及验证xgboost算法分类以及GridS

2017-12-31 21:29:07 20794 7

原创 win64 安装xgboost python

本文主要介绍win10 下安装xgboost以及对应的python lib1 安装 MINGW下载链接,安装记住选择x86_64, 当然可以选择6.2的版本(下一步的时候最好就是用默认的路径)。例如我的最终的安装bin路径C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin安装完成之后记得,添加到环境变量。2

2017-12-26 20:05:24 733

原创 python dict常用

本文主要是python中dict常用的方法: list 转化为 dict dict遍历删除指定条件的元素 dict安装key或者value排序 dict的value统计计数 两个list转化为dictdef lst_2_dict(): """ combine two list to dict :return: """ lst1 =

2017-12-14 20:31:18 1783

原创 概率论-最大似然估计

机器学习EM算法以及逻辑回归算法模型参数的求解都用到了最大似然估计,本文讲解其原理。 极大似然估计,通俗理解来说,就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值! 换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。最大似然估计通常是将目标函数转化为对数的形式,大大的简化了参数求解的运算。下面给出两个示

2017-12-11 20:20:12 1470

原创 kaggle示例1—研究生录取判断问题

问题描述:UCLA(加利福尼亚大学洛杉矶分校)研究生录取的二分类问题,数据来源:http://www.ats.ucla.edu/stat/data/binary.csv 使用的属性主要有下面四列(前三列为属性,最后一列为结果(类别能否被录用):gpagre分数rank表示本科生母校的声望admit则是二分类目标变量(binary target variable),它表明考生最终是否被录取。

2017-12-10 20:53:29 3044 1

原创 python 逻辑回归

逻辑回归模型所做的假设是: 相应的决策函数为: y=1,if P(y=1|x)>0.5 (实际应用时特定的情况可以选择不同阈值,如果对正例的判别准确性要求高,可以选择阈值大一些,对正例的召回要求高,则可以选择阈值小一些)那么,给定一个逻辑回归模型,如何来调整参数θ?首先我们假设:上面两个公式是为了,方便后面的计算。 假设我们有n个独立的训练样本{(x1, y1) ,(x2, y2),

2017-12-09 20:54:38 1095

原创 python线性回归示例

下面给出sklearn 库线性回归示例# coding:utf-8import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npfrom sklearn.linear_model import LinearRegressionsns.set()def get_data(): rng = np.random

2017-12-09 20:38:48 1030

原创 python决策树-1

本文主要内容:通过简单的示例说明决策树,以及决策树的定义信息熵概念,以及决策树,树生成节点划分的依据。三种计算方法方法:1.信息增益(由ID3算法作为特征选取标准)2.信息增益比/率(由C4.5算法作为特征选取标准)3.基尼指数(由CART作为特征选取标准)树的生成ID3算法,C4.5算法算法python实现以及示例决策树示例,以及决策树的定义下图决策树预测贷款用户是否具有偿还贷款的能

2017-12-08 21:01:37 576

原创 python朴素贝叶斯实现-2

本文主要内容:1. 朴素贝叶斯为何需要特征条件独立2. 朴素贝叶斯三种模型:特征是离散的时候,使用多项式模型特征是连续变量的时候,应该采用高斯模型特征的取值只能是1和0伯努利模型)3. 多项式模型的python实现 朴素贝叶斯 (naive Bayes) 法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;

2017-12-04 09:54:30 1627 2

原创 python朴素贝叶斯实现-1( 贝叶斯定理,全概率公式 )

朴素贝叶斯 (naive Bayes) 法是基于贝叶斯定理与特征条件独立假设的分类方法。在研究朴素贝叶斯 之前,先回顾下:概率论中的条件概率以及贝叶斯定理。 本部分内容基本来源于 盛骤, 谢式千, 潘承毅《概率论与数理统计 第四版浙江大学》1. 条件概率(conditional probability)下面给出一个例题:2. 全概率公式与贝叶斯定理下面在给出个示例:另外一个示例 以上内容基

2017-12-04 09:10:13 3333

原创 python flask音频流/文件服务

工作需要需要搭建一个音频推送服务,考虑到使用python Flask搭建一个服务,下面给出简单的代码每次请求仅仅推送当前目录下的音频文件。# _*_coding:utf-8 _*_from flask import Flaskfrom flask import Responseapp = Flask(__name__)@app.route('/audio/pcm_mp3/<file_key>

2017-11-28 20:15:19 9368 3

原创 mysql按照天分区月表

背景,每天需要向mysql中插入大概5KW数据,数据主要是插入,与查询基本不会update,由于量大需要查询因此想创建天表,但是缺点在于: 每天一张表也比较麻烦 假设现在要查询几天的数据,还得查询多张表,最终合并查询结果,这一点十分麻烦 这时可以考虑用一张月表,每一天的数据一个分区表,而分区表对于用户是透明的。下面给出一个简单的示例,仅仅为了展示:CREATE TABLE `au

2017-11-28 19:55:13 3691

原创 聚类算法原理及python实现

本文主要内容:聚类算法的特点聚类算法样本间的属性(包括,有序属性、无序属性)度量标准聚类的常见算法,原型聚类(主要论述K均值聚类),层次聚类、密度聚类K均值聚类算法的python实现,以及聚类算法与EM最大算法的关系参考引用先上一张gif的k均值聚类算法动态图片,让大家对算法有个感性认识: 其中:N=200代表有200个样本,不同的颜色代表不同的簇(其中 3种颜色为3个簇),星星代表

2017-11-13 20:52:18 11678

原创 决策树python sklearn 示例

本文主要是使用python sklearn,完成决策树的demo,以及可视化,最终生成的决策树结果。from sklearn.datasets import load_irisfrom sklearn import treefrom sklearn.tree import export_graphvizimport subprocessdef visualize_tree(tree, fea

2017-10-11 20:47:58 9548 5

原创 win64 python pydot安装配置

本文主要是win10,下面anaconda安装pydot以及 .dot文件转化为png。1. 安装pydot pip install pydot2. 安装GraphViz链接如下: http://www.graphviz.org/Download_windows.php下载完成点击安装,选择好安装目录之后即可。最终将安装路径添加到,环境变量中。3. 重启pycharmfrom sklearn

2017-10-11 09:36:29 5320

原创 knn K近邻算法python实现

本文主要内容:knn K近邻算法原理sklearn knn的使用,以及cross validation交叉验证numpy 实现knnknn改进方法1 knn K近邻算法原理K近邻算法:给定一个训练数据集,对新的的输入实例,在训练数据集中找到与该实例最邻近的的K个实例,这K个实例的多数属于某个类,就把该实例分为这个类。KNN 是 supervised learning, non parame

2017-10-08 21:06:34 6724

原创 python感知机实现

感知机(perceptron)作为机器学习的基础,理解了感知机的原理以及实现,就基本知道机器学习的本质了: “通过对错误数据集的学习,不断调整更新自身的参数,使得模型参数对当前系统的输入数据集,得到最佳输出”上面是自己个人的理解。 本文主要是参考了李航的《统计学习方法》,然后使用python实现了感知机,并对二维数据集进行分类,验证了算法的有效性。本文主要内容如下:感知机基本原理算法

2017-09-22 21:05:50 7141 1

转载 Linux网络编程书籍

原文转载:http://blog.csdn.net/21aspnet/article/details/6694485首先要说讲述计算机网络和TCP/IP的书很多。 1. 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛

2017-09-16 19:36:13 331

原创 linux sed命令使用

sed 来源 stream editor"本文主要内容:sed输出指定行、排除指定行输出、非连续行输出、行替换显示,指定行后面添加内容行数据替换,通配符,指定行范围直接修改文件内容 -i:直接修改读取文件的内容,而不是由屏幕输出。 (-i,n用的多些) 动作 ’n1,n2 function’ (其中n1-n2为function处理范围,function参数: [ acdips

2017-09-14 21:00:56 2585

原创 mysql update,insert常用

本文主要内容:update更新,batch批量更新insert 数据到表中,将表中数据插入到另一个表中insert ignore忽略重复数据插入报错问题update更新,batch批量更新set sql_safe_updates=0;# 常规updateupdate springdemo.users set pwd=nickname where id=id; 下面给一个stack o

2017-09-14 19:48:06 2628

原创 mysql索引index相关命令

本文主要内容:显示表中多有的索引show all index添加索引ADD INDEX, 添加唯一索引add unique index多列联合添加索引,primary key关键词index vs key show all indexshow index from tb_name 例如:show index from springdemo.blog;添加索引ADD INDEX, 添加唯一

2017-09-14 19:09:44 2618

原创 mysql 列column常用命令

本文主要内容mysql 列常用命令:查看表的列的属性 describe table_name column_name show all column property查看所有列的属性修改表的列属性 alter table <表名> modify <列> <数据类型> rename column重命名列添加列(同时添加索引)、删除列修改列的默认值查看表的列的属性 describ

2017-09-13 20:58:56 13390 2

原创 mysql table相关命令

本文内容如下:mysql table 创建create table(by other) like A1 as A2 (根据另一个表创建新表)see how table is created (显示表创建时的sql)rename table(表重命名)show all tables in database(显示数据库中所有的表) 删除表/清空表中所有的数据delete(truncate)

2017-09-13 20:02:29 975

原创 工作中提升效率的工具

本文主要介绍下工作中提升效率的工具:首先是浏览器chrome/firefox,有很多有用的插件护眼模式github octree 查看插件收藏夹插件免密码输入LastPass广告屏蔽插件AdBlock直接打开书签插件Holmes youtube视频下载文本编辑器win10下面Nodepad++, ubuntu下面Nodepadqqwin10下面文件查找工具 everything视

2017-09-02 21:02:43 14916

原创 ubuntu/win10 CLion 使用

本文主要介绍ubuntu/win下CLion,CMakeLists.txt基本使用。 工作中最开始使用python的时候觉得这个IDE特别好用, 后来使用 java的时候使用的IDEA也非常方便,这两个IDE都是JetBrain开发的。两三年前开发C++的时候使用的是VS2010感觉VS过于笨重后面的VS2013/2015体验也不是很好。发现了JetBrain开发的C++编辑器CLion果断试了

2017-09-02 19:53:16 2977

原创 linux split join paste uniq tee sort 工作中文本操作常用方法

本文主要是linux文本常见命令,主要内容如下:split命令将文件按指定行数/size分成小文件,grep -c / awk/wc -l file*统计每个文件行数join/paste将多个文件按照列合并tee >>流重定向到文件, /dev/null使用sort对文件按照指定列排序, uniq按照列获取唯一列大小,每列计数等cat/tac文件查看,内容重定向到文件head /tail

2017-09-02 11:47:52 2947

原创 Tesseract文字训练,以及样本生成

前面用做Tesseract做文字识别的时候,一般网上教程称使用jTessBoxEditor训练(最终我试验发现对于中文的图片文字识别而言训练基本没什么卵用)当然使用jTessBoxEditor训练新的文字还是可以的,当时我发现jTessBoxEditor训练基本的配置文件基本是文字以及文字的坐标于是我使用python脚本生成了对应的训练图片以及配置文件。先上个图: yahei_font2.box配

2017-09-01 20:01:37 5425 1

原创 Tesseract ocr文字识别

前面很早做了图片的文字识别主要用到了开源框架Tesseract,当然做OCR之前先要定位图片文字。先上个图: 工作中项目组一般使用java因此代码,下面贴出java代码,最简单的图片识别:package com.recognition;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;impo

2017-09-01 19:42:05 4680 1

Image Processing, Analysis, and Machine Vision, 3rd 中英文两版可以对照看

Image Processing, Analysis, and Machine Vision, 3rd 中英文两版可以对照看,觉得没问题,主要为了分享,只要2分。自己下载花了20分

2018-06-01

FSCaptureSetup80

FSCapture,win环境下很好用的截图软件,比QQ截图什么的好用多了。知乎、简书很多人推荐使用的。。附加FSCapture注册码 序列号 附加上FastStone Capture 注册码 序列号 name:bluman serial/序列号/注册码:VPISCJULXUFGDDXYAUYF

2016-05-17

linux ubuntu 64位 jsoncpp下载

linux ubuntu 64位 jsoncpp下载,下载完了后可以安装,官网下载比较慢,自己试验过好用

2015-12-30

空空如也

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

TA关注的人

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