自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (6)
  • 收藏
  • 关注

原创 window下编译opencv python3

1.下载mingw和cmake,cmake版本需要大于3.122.将anacondax写入环境变量,编译opencv时,会自动添加python项3.编译安装opencv4.将opencv的install位置写入环境变量可能出现的问题:python下导入cv2,在powershell下可以执行,但在idea下报 File "D:\Anaconda3\lib\ctypes\...

2019-12-14 23:46:03 749

原创 opencv 加载tensorflow pb模型

opencv加载的pb模型必须是用tf.layers 和 tf.nn 下的api构建的,使用slim会在加载时报未知的layer的错误基本流程:1.加载pbbool CardDetect::load_model(string mode_path) { this->net = cv::dnn::readNetFromTensorflow(mode_path); i...

2019-04-30 10:38:11 3910 2

转载 python 调用c++处理数组和图片

基本流程:定义cpp文件实现算法逻辑,因为编译器在编译的时候是会把c++函数改名,所以对于python调用的函数是要声明为以c的方式编译 #include "execute.h"extern "C"{Execute execute;void show_matrix(int *matrix, int rows, int columns) { execute.show_mat...

2019-04-23 19:13:03 2514

原创 tensorflow seq2seq api使用及 seq2seq 实现

1. 标签文本预处理使用 <PAD> 做标签对齐补齐,使用<GO>和<EOS>对标签做起始和结束标志,用于告诉decoder文本起始与结束,对于某些低频词汇和不关心词汇使用<UNK>标签替代.2.seq2seq apiencoder部分通常使用 lstm 或 gru 进行编码,在其前可以添加cnn做特征抽取decoder部分...

2019-04-02 15:29:40 1976

原创 基于attention机制实现 CRNN OCR文字识别

定义网络结构实现 BahdanauAttention,其中socre的实现方法为 perceptron 形式class BahdanauAttention(tf.keras.Model): def __init__(self, units): super(BahdanauAttention, self).__init__() self.W1 =...

2019-03-19 12:03:56 9957 19

转载 深度学习的attention机制笔记

原文 关于深度学习中的注意力机制,这篇文章从实例到原理都帮你参透了 不能转载,就自己摘要了一些.attention机制源于人类快速处理视觉信息的大脑机制.通过重点关注目标区域,抑制无关区域,从而从大量信息中快速筛选出有价值的信息Encoder-Decoder框架目前attention机制主要依赖于encoder-decoder框架上图为Encoder-Decoder框架的抽象...

2019-03-18 19:14:01 1552

原创 C++ 调用tensorflow

1.安装protobuf 3.6# 安装依赖软件sudo apt-get install autoconf automake libtool curl make g++ unzip# 克隆版本为3.6.0的protobuf源码git clone -b v3.6.0 https://github.com/protocolbuffers/protobuf.git# 下载 protobuf...

2019-03-08 15:52:48 4293 3

转载 卷积的多种形式及tensorflow实现

1.常规卷积2.膨胀卷积dilate conv使用实例 ssd中block6# Block 6: let's dilate the hell out of it!net = slim.conv2d(net, 1024, [3, 3], rate=6, scope='conv6')end_points['block6'] = net卷积核膨胀是将卷积核扩张到膨胀尺度约束的尺度...

2019-02-10 21:48:53 1761

原创 python 使用pip管理 打包wheel

1.编写python文件,代码文件夹管理如下2. 编写setup.py文件from setuptools import setup, find_packagessetup( name="locate_mate", version="0.1", keywords=("pip", "locate_mate", "featureextraction"), ...

2019-01-24 14:47:39 4971

转载 图片合成笔记

1. opencv与Image类相互转换#OpenCV转换成PIL.Image格式image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))#Image转换成OpenCV格式img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)2. 图片添加不透明度后合成...

2019-01-16 18:34:28 280

原创 opencv 遍历mat的三种方法

灰度图在内存中的存储形式3通道图在内存中的存储形式1. 通过 .at&lt;typename&gt;(i,j) 遍历void colorReduce(Mat&amp; image,int div) { for(int i=0;i&lt;image.rows;i++) { for(int j=0;j&lt;image.cols;j...

2019-01-06 23:31:51 20835

原创 pytorch 入门笔记

1.数据加载自定义datasetimport osimport os.path as ospfrom torch.utils.data import Datasetclass DogCatDataset(Dataset): def __init__(self, root_path, is_train): self.is_train = is_trai...

2018-12-21 10:12:00 1017

原创 深度学习 模型 剪枝

参考文章:Pruning Filters for Efficient ConvnetsCompressing deep neural nets压缩神经网络 实验记录(剪枝 + rebirth + mobilenet)为了在手机上加速运行深度学习模型,目前实现的方式基本分为两类:一是深度学习框架层面的加速,另一个方向是深度学习模型层面的加速。深度学习模型的加速又可以分为采用新的卷...

2018-12-19 18:58:40 20225 22

原创 在Ubuntu上安装Tensorflow Serving

参考https://blog.csdn.net/u010175803/article/details/813335831.全局安装grpciosudo pip3 install grpcio2.安装依赖库sudo apt-get update &amp;&amp; sudo apt-get install -y automake build-essential curl lib...

2018-11-28 15:45:04 3379

原创 搭建完全分布式hadoop集群

1. 创建master和3个slave创建4个host,分别定义hostname为master、slave1、slave2、slave3,检查4个host的ip地址,确保所有主机均处于1个网关,在hosts中配置4个主机的ip地址和hostname,并确保能够相互ping通127.0.0.1 localhost192.168.1.100 master192.168....

2018-11-08 19:46:47 245

原创 在VMware中配置centos hadoop环境

1.在VM中安装centos,并开启VM tools,关联共享文件夹2.安装jdk下载linux的jdk到共享文件夹,在centos根目录创建soft文件夹,并将jdk拷贝过去。默认centos的共享文件夹目录在 /mnt/hgfs 文件夹下tar -xvf jdk-xxx.tar.gz解压jdk,并创建符号链接ln -s /soft/jdk-xxx /soft/jdk...

2018-11-07 23:29:05 470

原创 dlib 人脸识别论文 One Millisecond Face Alignment with an Ensemble of Regression Trees

论文连接:One Millisecond Face Alignment with an Ensemble of Regression Trees1.简介本文也采用级联回归树。本论文主要解决两个问题:1.抽取向量特征用于表征复杂背景和不同光照下的人脸图片。但在实际中实现时,既需要可信的特征用来预测人脸形状,同时又需要用精确地人脸形状来抽取特征。对于这种两难的情况,本文采用迭代式逼近的...

2018-10-31 18:52:06 3630 2

原创 BRISK特征提取算法(翻译)

原文链接:BRISK: Binary Robust Invariant Scalable Keypoints1.不同尺度的关键点检测为了获得在不同尺度的稳定关键点,brisk算法采用FAST算法在不同尺度空间中求解关键点。在brisk算法中,不同尺度的金字塔层由 n个 octaves层 ci 和 n个 intra-octaves 层 di组成,i = {0, 1, ... , n-1}。本...

2018-10-31 11:33:53 1782

原创 Faster RCNN算法演进

目标检测RCNN算法经历了RCNN-&gt;FAST RCNN-&gt;FASTER RCNN的递进演化。RCNN原理及实现步骤1. 在cpu端提取候选框:通过纹理或色彩等传统算法(SelectiveSearch)在原图中找到可能的候选框,通常为1k~2k个2. 将候选框归一缩放为统一大小,分别输入cnn网络提取特征3. 使用svm或softmax分类器分类,对于有目标框回归目标框...

2018-10-30 20:25:03 638

原创 tensorflow 笔记

1.tf.train.exponential_decaytf.train.exponential_decay( learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)decayed_learning_rate = learning_...

2018-10-18 17:08:46 255

原创 提取tensorflow lstm权重 和 中间层输出

@tf_export("nn.rnn_cell.BasicLSTMCell")class BasicLSTMCell(LayerRNNCell):input_depth = inputs_shape[1].valueh_depth = self._num_unitsself._kernel = self.add_variable( _WEIGHTS_VARIABLE_NAME,...

2018-10-17 20:08:57 9487 16

原创 Cython Tutorial 基本用法

cython用于加速python,可以简单解释为带有c数据格式的python。1. hello world创建 helloworld.pyx 文件,在其中添加测试代码print("hello word")创建 setup.py 文件,在其中添加转换编译代码from distutils.core import setupfrom Cython.Build import cy...

2018-10-16 14:02:01 570

原创 快速匹配字符串算法BK树 原理及python实现

BK树或者称为Burkhard-Keller树,是一种基于树的数据结构。用于快速查找近似字符串匹配,比方说拼写纠错,或模糊查找,当搜索”aeek”时能返回与其最相似的字符串”seek”和”peek”。在构建BK树之前,我们需要定义一种用于比较字符串相似度的度量方法。通常都是采用编辑距离(Levenshtein Distance),这是一种用于表示两个字符串相互转换需要进行的最少编辑步数。在...

2018-10-14 23:45:15 3412 5

原创 编辑距离计算python实现

编辑距离是用来比较两个字符串之间相似度的度量方法,表示的是两个字符串间相互转换所需要的最少步骤。编辑距离递推公式:算法计算步骤:1.对于字符串A 'jarrry'和字符串B'jerr',先初始化矩阵dp为 [len(A) + 1][len(B) + 1],dp矩阵的第一行与第一列均从零开始递增,最后得矩阵为 j a r r r ...

2018-10-12 19:48:26 15898 5

原创 在Android端实现基于OPENGL ES 的深度学习前向传播框架

github项目地址首先感谢夕阳叹大神提供的思路,大家先可以去https://blog.csdn.net/jxt1234and2010/article/details/71056736看看,基本把实现的流程都说了一遍,我照着思路实现了一下,同时参考了一下CnnDroid。这个项目断断续续写了快4个月了,最近忙起来了,可能没什么时间完善了,先用blog记录一下思路,要有机会再完善了。目前...

2018-10-12 16:49:07 1696

原创 在Android使用opengles实现Winograd卷积算法

测试用数据输入:卷积核为:padding为SAME使用opengles的imageArray存储输入输出数据,纹理格式为rgba16f,为将纹理坐标与输入矩阵坐标一一对应,所以需要先将输入进行补零操作。先将输入矩阵拉平为一个一维向量,再对这个一维向量每个数字后补3个零,然后传入到一个5x5的gl纹理上,这样纹理坐标就与输入坐标一一对应了。对卷积核先做预计算,然后将卷积预...

2018-10-12 11:59:27 2591

原创 Winograd算法 原理

1.fast convolution原理:用非耗时运算操作(如加法)替代耗时运算操作(如乘法)达到减少算法时间度的。例子:通过复数乘法减少乘法时间复杂度假设: 将该乘法式表示为矩阵形式,其需要4个乘法和2个加法。将等式转变后变成3个乘法和5个加法转变后的等式转变为矩阵形式,它的系数矩阵能够被分解为 2X3(C), 3X3(...

2018-10-12 11:23:16 18599 3

转载 anaconda 多版本共存

1.安装anaconda32.创建Python2 与 python3的环境# 基于 python3.6 创建一个名为py3 的环境conda create --name py3 python=3.6 # 基于 python2.7 创建一个名为py2 的环境conda create --name py2 python=2.7 # 激活 test 环境source activ...

2018-09-13 10:24:53 470

转载 superset 使用入门

转载链接 :学习superset之一:在ubuntu安装superset1.安装依赖sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev2.通过anaconda创建环境,并激活conda create env super...

2018-07-22 22:03:30 1892

原创 Scrapy 爬虫入门

1. scrapy 项目目录scrapy是通过命令运行的爬虫框架scrapy startproject projectname // 创建scrapy项目通过命令创建scrapy项目后,会自动生成一个projectname的文件夹,其中包括一个spiders文件夹,以及items.py、pipelines.py、middlewares.py、settings.py等python文件...

2018-07-12 16:49:38 852

转载 ubuntu 笔记

0.0 查看显存占用的进程fuser -v /dev/nvidia*0.设置网络优先级查看网关ip route showdefault via 192.168.2.1 dev enx00e04c689947 proto static metric 100 default via 10.159.0.1 dev wlp2s0 proto static metric 6...

2018-07-12 14:12:17 287

原创 Android 笔记

0.python 获得 android 屏幕图片以前使用vysor获得视频流,来获得android屏幕图片,但是经常会断流,而且手机端一直运行 vysor 服务器也会导致手机发烫严重。使用python airtest 库可以比较流畅的实时获得 android 屏幕,基本能达到每秒 5 帧。from airtest.core.api import *from airtest.cor...

2018-07-07 16:38:18 411

原创 Protobuf 笔记

1. protobuf安装下载https://github.com/google/protobuf/releases ##Source code (zip)##./autogen.sh./configuremakemake checkmake install当安装有anaconda时,系统会默认调用anaconda中的protoc,所以需要手动将anaconda中的protoc...

2018-07-07 16:13:04 198

原创 在Android端使用OpenGL的compute shader加速计算

compute shader的介绍和使用参看博客使用compute shader进行通用计算及示例在Android端使用compute shader需要OpenGL ES3.1,即Android5.1以上的平台。可能是oples的原因,在Android上使用compute shader有几个注意要点:生成texture时不能使用glTexIamge2D, 需使用glTexStorage2D,然后使...

2018-06-06 14:41:37 7626 2

原创 GPGPU基础(五):使用compute shader进行通用计算及示例

1.工作组及其执行compute shader是在OpenGL4.3(Opengl es 3.1)以后引入的一种专门用于并行计算的着色器。在计算着色器中,任务以组为单位进行执行,我们称之为工作组(work group)。拥有邻居的工作组被称为本地工作组(local workgroup), 这些组可以组成更大的组,称为全局工作组(global workgroup),而其通常作为执行命令的一个单位。计...

2018-06-06 11:52:33 12716 5

原创 GPGPU基础(三):GPGPU的理念

使用OpenGL进行通用计算需要解决几个问题1.计算流水线的终点是帧缓存或显示器,而科学计算的结果一般需要写入存储器,这是怎么做到的?使用纹理缓存。2.图形流水线处理的是坐标信息和像素信息,怎么才能使它处理通用数据?3.OpenGL提供的有限数量的图形处理函数对数据处理效果非常单一,而且都是针对三维模型和像素值的函数,如何制定科学计算所需的算法?...

2018-05-18 17:16:17 6011

原创 GPGPU基础(二):GPGPU需要用到的OpenGL概念

在计算机图形学中,纹理映射是实现复杂表面效果的高效方法,即以较小的计算量就可以实现较为逼真的模芯效果。在GPGPU中,纹理映射也是一个至关重要的概念。由图形API实现经典GPGPU的原理可以总结为:用纹理映射实现的科学计算(computation by texturing)。1.纹理映射的概念在渲染对象过程中,最简单的方式是给各个对象表面显式地涂上各种颜色。但这样颜色会非常单一。同时,让设计者手动...

2018-05-17 16:47:43 2071

原创 GPGPU基础(一):一些基本概念

1.数据类型GLSL特性与C/C++类似,包括它的数据类型。GLSL有三种基本数据类型:float,int和bool,以及有这些数据类型组成的数组和结构体。GLSL不支持指针。同时,GLSL将向量和矩阵作为基本数据类型。向量类型包括由上述三种基本数据类型构成的二维,三维和四维向量,矩阵类型包括浮点型的2X2,3X3和4X4的方阵。如,浮点型3三维向量类型为vec3,整型四维向量类型为ivec4,而...

2018-05-17 12:01:40 3376

原创 CnnDroid 优化加速原理

原文链接:GPU-based Acceleration of Deep Convolutional Neural Networks on Mobile Platformsgithub地址:CNNDroid1.前置知识 移动GPU架构现在的移动GPU一般由多个平行计算单元SC(shader core)组成。每个SC又由多个平行算数逻辑单元ALU(arithmetic and logic unit)组...

2018-05-15 19:22:34 1008

翻译 opencv中calcOpticalFlowPyrLK实现的光流法(Lucas-Kanade Method for Sparse Optical Flow)原理解析 (摘要翻译)

本文截图及内容均来自learning opencv 第三版第16章 Keypoints and Descriptors1.光流法介绍光流法主要用于寻找不同图片间的特征点对应关系。特别是应用在视频中,因为对于视频,可以合理地认为当前帧中的许多点能够在下一帧中找到。一个理想的光流算法输出应该是图中每个像素的速度预测集合,或是表示每个像素在相邻帧间相对位置的位移向量。当对图中每个像素求解时,就是密集光流...

2018-05-08 11:06:56 11893 2

python实现bk树(cython加速)

详细见blog:https://blog.csdn.net/koibiki/article/details/83052431

2018-10-17

python实现bk树

详细描述:https://blog.csdn.net/koibiki/article/details/83052431

2018-10-14

使用opengles实现Winograd卷积

使用Opengles实现了winograd快速卷积算法,包含一个android端的测试apk源码,详细可参看blog:https://blog.csdn.net/koibiki/article/details/83024514

2018-10-12

使用opengl 4.3的compute shader实现通用计算

使用opengl 4.3的compute shader实现通用计算例子,需要ubuntu环境,需要安装opengl,glut和glew,不能运行在虚拟机中。

2018-06-12

在Android端使用compute shader加速计算

详细描述见博客https://blog.csdn.net/koibiki/article/details/80593229

2018-06-06

使用opengl的compute shader实现通用计算

使用opengl 4.3的compute shader实现通用计算例子,需要ubuntu环境,需要安装opengl,glut和glew,不能运行在虚拟机中。

2018-06-06

空空如也

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

TA关注的人

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