深度学习
koibiki
这个作者很懒,什么都没留下…
展开
-
Winograd算法 原理
1.fast convolution原理:用非耗时运算操作(如加法)替代耗时运算操作(如乘法)达到减少算法时间度的。例子:通过复数乘法减少乘法时间复杂度假设: 将该乘法式表示为矩阵形式,其需要4个乘法和2个加法。将等式转变后变成3个乘法和5个加法转变后的等式转变为矩阵形式,它的系数矩阵能够被分解为 2X3(C), 3X3(...原创 2018-10-12 11:23:16 · 18842 阅读 · 3 评论 -
tensorflow seq2seq api使用及 seq2seq 实现
1. 标签文本预处理使用 <PAD> 做标签对齐补齐,使用<GO>和<EOS>对标签做起始和结束标志,用于告诉decoder文本起始与结束,对于某些低频词汇和不关心词汇使用<UNK>标签替代.2.seq2seq apiencoder部分通常使用 lstm 或 gru 进行编码,在其前可以添加cnn做特征抽取decoder部分...原创 2019-04-02 15:29:40 · 1999 阅读 · 0 评论 -
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 · 265 阅读 · 0 评论 -
基于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 · 10009 阅读 · 19 评论 -
深度学习的attention机制笔记
原文 关于深度学习中的注意力机制,这篇文章从实例到原理都帮你参透了 不能转载,就自己摘要了一些.attention机制源于人类快速处理视觉信息的大脑机制.通过重点关注目标区域,抑制无关区域,从而从大量信息中快速筛选出有价值的信息Encoder-Decoder框架目前attention机制主要依赖于encoder-decoder框架上图为Encoder-Decoder框架的抽象...转载 2019-03-18 19:14:01 · 1571 阅读 · 0 评论 -
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 · 4360 阅读 · 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 · 1777 阅读 · 0 评论 -
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 · 1036 阅读 · 0 评论 -
深度学习 模型 剪枝
参考文章:Pruning Filters for Efficient ConvnetsCompressing deep neural nets压缩神经网络 实验记录(剪枝 + rebirth + mobilenet)为了在手机上加速运行深度学习模型,目前实现的方式基本分为两类:一是深度学习框架层面的加速,另一个方向是深度学习模型层面的加速。深度学习模型的加速又可以分为采用新的卷...原创 2018-12-19 18:58:40 · 20308 阅读 · 22 评论 -
在Ubuntu上安装Tensorflow Serving
参考https://blog.csdn.net/u010175803/article/details/813335831.全局安装grpciosudo pip3 install grpcio2.安装依赖库sudo apt-get update && sudo apt-get install -y automake build-essential curl lib...原创 2018-11-28 15:45:04 · 3394 阅读 · 0 评论 -
提取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 · 9532 阅读 · 16 评论 -
在Android使用opengles实现Winograd卷积算法
测试用数据输入:卷积核为:padding为SAME使用opengles的imageArray存储输入输出数据,纹理格式为rgba16f,为将纹理坐标与输入矩阵坐标一一对应,所以需要先将输入进行补零操作。先将输入矩阵拉平为一个一维向量,再对这个一维向量每个数字后补3个零,然后传入到一个5x5的gl纹理上,这样纹理坐标就与输入坐标一一对应了。对卷积核先做预计算,然后将卷积预...原创 2018-10-12 11:59:27 · 2616 阅读 · 0 评论 -
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 · 3929 阅读 · 2 评论