- 博客(45)
- 收藏
- 关注
原创 深度学习优化器
深度学习优化器标签(空格分隔): 深度学习理论基础深度学习优化器Mini-batch-SGDSGD-MomentNAG(Nesterov accelerated gradient)AdagradRMSproAdamMini-batch-SGD深度学习最常见的优化器批量梯度下降法迭代公式如下: θ=θ−η∇θJ(θ;x(i:i+n),y(i:i+n...
2018-08-23 20:35:55
950
原创 Caffe源代码之卷积层和反卷积层
Caffe源代码之卷积层和反卷积层标签[空格] : Caffe源代码Caffe源代码之卷积层和反卷积层举例Conv_layer头文件Conv_layer源文件BaseConvolutionLayer头文件BaseConvolutionLayer源文件im2col col2im卷积层是深度学习核心中的核心,反卷积网络则是广泛应用于图像分割领域。在Caffe中,卷...
2018-08-13 10:47:01
1656
原创 temporal segment networks 核心代码
temporal segment networks 核心代码标签(空格分隔): 源码temporal segment networks 核心代码网络结构 prototxt视频图像的读入 video_data_layer网络测试网络结构 prototxt先来看看prototxt网络配置,以光流的为例,prototxt核心部分如下,这里只摘取了,数据输入层和...
2018-08-08 20:15:12
2215
1
原创 Caffe源代码之池化层
Caffe源代码之池化层池化层(PoolingLayer)在深度学习的结构中占很重要的一部分,其功能是缩小输入特征图的尺度,增大输出特征图的感受野,在有的网络中,通过全局池化层,将二维特征图变成一维特征向量。池化层有两个特点:(1)输出特征图尺度普遍小于输入特征图尺度;(2)池化层并没有可学习的参量,因此,再反向传播的过程中,只需要求输入特征图的梯度(bottom_diff)。下面,我们来看看...
2018-08-02 16:20:15
1151
原创 Temporal Segment Networks 核心
Temporal Segment Networks 核心标签(空格分隔): 论文笔记Temporal Segment Networks 这篇是ECCV2016年一篇关于视频分类的论文。借鉴的是TwoStream网络的方法,但是,在这基础上有所改进。这里大体介绍一下TwoStream网络的方法。在视频分类任务中,比较好的网络,既能够抓住视频的形状特征(apperance featur...
2018-08-01 23:40:05
1567
原创 Caffe源代码之SoftmaxWithLoss交叉熵损失函数
SoftmaxWithLoss交叉熵损失函数在Caffe中,SoftmaxWithLoss和Softmax的前向传播基本一样,唯一有点区别的是SoftmaxWithLoss计算了损失值,用于打印在终端。SoftmaxWithLoss继承于Loss基类,Loss基类继承于Layer基类。因此,SoftmaxWithLoss算是Layer基类的孙子类。首先,我们来看一下,Loss类。Los...
2018-08-01 23:19:01
1715
原创 Caffe源代码之Softmax前后向传播
Caffe源代码之Softmax前后向传播之前的几个博客介绍了Caffe中,网络训练过程中,数据块怎么存储的、层怎么搭建的、网络怎么进行管理层和数据的、网络怎么进行优化的,接下来几篇博客就集中到某些层上面了,比如说,Softmax层、卷积层、反卷积层、池化层、BN层以及SoftmaxWithLoss层的相关代码了。今天分享Softmax层的代码,在之前的一个博客里面,笔者推到了Softma...
2018-07-30 22:58:50
615
原创 MobileNet v2 核心总结
MobileNet v2 核心总结Prototxt文件name: "MOBILENET_V2"# transform_param {# scale: 0.017# mirror: false# crop_size: 224# mean_value: [103.94,116.78,123.68]# }input: "data"input_d...
2018-07-30 19:30:44
3294
原创 DeepLab v3 改进总结
DeepLab v3 改进总结标签(空格分隔): tensorflowDeepLab v3源代码实现如下:from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport tensorflow as tffro...
2018-07-29 10:57:59
3080
1
原创 Softmax交叉熵损失函数 反向传播公式推导
Softmax交叉熵损失函数 反向传播公式推导标签(空格分隔): Caffe源代码Softmax交叉熵损失函数: J=−∑i=1Kyiln(zi)zi=exi∑j=1KexjJ=−∑i=1Kyiln(zi)zi=exi∑j=1Kexj\begin{array}{l}J = - \sum\limits_{i = 1}^K {{y_i}\ln ({z_i})} \\{z_i} =...
2018-07-28 23:42:57
4396
1
原创 Softmax 反向传播公式推导
Softmax 反向传播公式推导标签(空格分隔): Caffe源代码Softmax是深度学习最常见的激活函数,能够将输入按照某一维度进行归一化,输出(0, 1)的值Softmax函数形式为: f(xi)=exi∑j=1Kexjf(xi)=exi∑j=1Kexjf({x_i}) = \frac{{{e^{{x_i}}}}}{{\sum\limits_{j = 1}^K {{e^{...
2018-07-28 23:08:26
4684
4
原创 Caffe源代码之SGDSolver更新代码-ApplyUpdate()
Caffe源代码之SGDSolver更新代码-ApplyUpdate()在我之前的博客Solver中,说明了在Solver中怎样进行Step训练、测试、打印结果、保存中间模型以及恢复训练的。但是在Solver基类中,有一个纯虚函数ApplyUpdate(),该函数是用来进行权值更新的,不同的优化器有不同的优化方法 (1)最基础的优化器,随机梯度下降法,单纯的梯度的负方向乘以学习率,作为权重的...
2018-07-28 16:14:32
976
原创 Solver基类
Solver通过Net初始化之后,网络已经建立完成,在这里可以理解为建立了一些列操作图(operations grap)之前在Net、Layer中实现了一些前向反向传播的函数,以及分配内存空间,在Solver中,实现的主要是实质性的网络训练过程,包括正则化,每一层的局部学习率,学习率的衰减,以及数据块data - diff的操作等操作。Solver的核心是Step函数,迭代的训练网络,更...
2018-07-28 14:54:57
886
原创 python解释器
python解释器标签(空格分隔): python在阅读TensorFlow源代码时,经常看到解释器这样的一类的东西,打算将这部分知识梳理一下,方便自己后面继续看代码,该部分主要参考这两个博客Python中的解释器、python修饰器的作用解释器可以算是Python比较高级一点的东西了,什么是解释器呢?就是对函数加以解释,解释器其本质是一个函数,同时它的输入也是一个函数,没错就是在...
2018-07-24 09:11:25
9172
原创 tf.variable_scope
tf.variable_scope标签(空格分隔): tensorflow深入理解tf.variable_scope类初始化函数创建命名空间TensorFlow共享机制作用一:区分命名空间自动共享机制设置共享以及共享报错的机制共享总结tf.variable_scope其他参数类初始化函数 def __init__(self, ...
2018-07-23 16:05:34
1017
原创 Caffe源代码之Net源文件
Net源文件Net源文件之前介绍了头文件,头文件中,主要定义了一些简单的内联函数以及声明一些成员函数,总的来说,Net实现的是网络中的层、层的输入输出变量、层的权重的统一调度(因为变量太多了)#include <algorithm>#include <map>#include <set>#include <string&am
2018-07-23 01:08:35
662
原创 Caffe源代码之Net头文件
Net头文件[TOC] 通过Layer以及Blob这两大模块之后,就可以盖楼了, 我们可以这样形象的理解Blob相当于盖楼的材料(砖),Layer相当于大楼中的每一层,Net是这栋大楼了。那么Net怎样的调度Blob、Layer两大模块的呢? 还是一样的,我们先看看,头文件定义了哪些成员函数和成员变量,分别表示个啥玩意#ifndef CAFFE_NET_HPP_...
2018-07-22 00:58:34
445
原创 Caffe源代码之Layer基类
Layer基类Layer基网络是是各个层的基类,数据读入层、损失层以及中间的操作层都是继承于Layer的,头文件就是Layer基类的核心部分Layer基类Layer基网络头文件Layer基类源文件总结Layer基网络头文件我们先来看看头文件定义了什么成员函数和变量#ifndef CAFFE_LAYER_H_#define CAFFE_LAYER_...
2018-07-21 17:20:28
364
原创 caffe源码阅读之Blob数据块
Blob数据块Blob数据块是Caffe最基本,也是最重要的模块,Blob数据块用来存储每一层数据的输入、输出以及每一层的权值,可以说Blob是Caffe的基石。Blob数据块blob头文件SyncedMemory头文件SyncedMemory源文件Blob源文件blob头文件头文件中,定义了简单的内联函数,以及一些成员变量,最重要的是data_, d...
2018-07-21 13:09:20
536
原创 MobileNet-v2 pytorch 代码实现
MobileNet-v2 pytorch 代码实现标签(空格分隔): Pytorch 源码MobileNet-v2 pytorch 代码实现主函数model.pyinverted_residual_sequence、InvertedResidualBlock、conv2d_bn_relu6train.py总结主函数import torch.bac...
2018-05-24 17:06:56
10681
3
原创 Xception: Deep Learning with Depthwise Separable Convolutions论文阅读
Xception: Deep Learning with Depthwise Separable Convolutions论文阅读标签(空格分隔): 深度学习之网络结构 论文笔记Xception的出现可以说为后面移动端的一些网络,例如Mobile-Net、Shuffle-Net,提供了一些思路,还是比较有看头的。Xception: Deep Learning with Dep...
2018-05-22 14:58:53
1533
原创 tensorflow 官方多GPU训练模型
tensorflow 官方多GPU训练模型标签(空格分隔): tensorflow 源码caffe如果用到多GPU训练,则需要进行编译配置MPI,而且很容易报错,tensorflow只需要在代码中使用即可。官方给的代码:# Copyright 2015 The TensorFlow Authors. All Rights Reserved.## Licensed un...
2018-05-18 17:05:03
2213
原创 DeepLab v3 tensorflow 源码
DeepLab v3 tensorflow 源码标签(空格分隔): tensorflow 源码import tensorflow as tffrom config import *import resnet_utilsfrom resnet_v1 import bottleneck, resnet_arg_scopeslim = tf.contrib.slim@s...
2018-05-18 16:34:59
2208
原创 tensorflow tfrecord文件生成,网络输入管道
tensorflow tfrecord文件生成,网络输入管道标签(空格分隔): tensorflow 源码在医学图像中,不像自然图像那样是规整的3通道8位数据,不同的医学影像有不同的医学存储格式,以本小硕的课题来说,医学图像数据类型为为float32。之前为了保证数据的原始性,一直不敢存储为png、bmp那样的数据格式,而是存储为numpy的npz格式。但是,对于tensorflo...
2018-05-18 15:47:46
711
原创 tensorboard 平滑损失曲线代码
tensorboard 平滑损失曲线代码标签(空格分隔): tensorflow 源码 咱们写论文,或者工作汇报的时候,希望展现非常漂亮的深度学习损失函数曲线图在tensorflow中集成了很实用的tensorboard可视化工具,能够实时观测训练过程中的损失函数曲线图,以及建立的图模型,甚至在tensorboard可以可视化一些图像的分割或者分类结果,非常方面。但是,深度学习往...
2018-05-18 15:13:47
23301
7
原创 ResNet-BN tensorflow源码解析
ResNet-BN tensorflow源码解析标签(空格分隔): tensorflow 深度学习之网络结构Github: https://github.com/tensorflow/models/blob/master/research/slim/nets/ Paper: https://arxiv.org/abs/1603.05027ResNet-BN tensorfl...
2018-05-16 21:26:59
2674
原创 Pytorch Transfer learning
Pytorch Transfer learning标签(空格分隔): PytorchThese two major transfer learning scenarios looks as follows:Finetuning the convnet: Instead of random initializaion, we initialize the network with a pretrai
2017-12-16 17:51:28
840
原创 Keras 函数API 官网案例
Keras 函数API 官网案例标签(空格分隔): Keras学习Keras 函数API 官网案例全连接层多输入多输出共享层获取中间层的值图像问答模型The Keras functional API is the way to go for defining complex models, such as multi-output models, directed acyclic gra
2017-12-09 08:54:00
1172
原创 Keras 官方案例
Keras 官方案例标签(空格分隔): Keras学习Keras 官方案例MLP多分类问题MLP二分类问题VGG-like模型LSTM二分类序列一维卷积二分类stacted LTSM多分类问题stateful LSTM 多分类问题MLP多分类问题import kerasfrom keras.models import Sequentialfrom keras.layers imp
2017-12-08 11:08:41
9986
原创 ProposalLayer源码解析
ProposalLayer源码解析标签(空格分隔): faster-rcnn 物体检测 源码# --------------------------------------------------------# Faster R-CNN# Copyright (c) 2015 Microsoft# Licensed under The MIT License [see LICENSE for
2017-11-29 23:38:01
1441
原创 ROIPoolingLayer源码解析
ROIPoolingLayer源码解析标签(空格分隔): 物体检测 faster-rcnn 源码// ------------------------------------------------------------------// Fast R-CNN// Copyright (c) 2015 Microsoft// Licensed under The MIT License [se
2017-11-29 20:40:42
628
原创 Feature Pyramid Networks for Object Detection 阅读笔记
Feature Pyramid Networks for Object Detection 阅读笔记标签(空格分隔): 论文笔记 物体检测该论文主要提出了top-down的思想,对图像进行进行多尺度物体检测,尝试解决尺度不变性的问题Feature pyramids(多尺度特征金字塔)在传统的计算机视觉算法中进场被用到,而在深度学习中,都尽量避免使用多尺度相关的算法,因为一旦涉及多尺度,计算量将成倍
2017-11-25 15:13:19
1861
原创 Asynchronous Methods for Deep Reinforcement Learning 阅读笔记
Asynchronous Methods for Deep Reinforcement Learning 阅读笔记标签(空格分隔): 增强学习算法 论文笔记本文的贡献在于提出了异步学习的算法,并应用在A2C Q-learning等算法中该论文作者提出了异步训练(Asynchronous Methods)的方法应用到强化学习的各个算法中(Sarsa,one-step Q-learning n-ste
2017-11-23 16:49:30
2944
原创 算法 源码 A3C
A3C 源码解析标签(空格分隔): 增强学习算法 源码该代码实现连续空间的策略控制"""Asynchronous Advantage Actor Critic (A3C) with continuous action space, Reinforcement Learning.Using:tensorflow r1.3gym 0.8.0"""import multiprocessingi
2017-11-23 14:00:18
3839
1
原创 A2C Advantage Actor-Critic源码
A2C Advantage Actor-Critic (离散空间)标签(空格分隔): 增强学习算法 源码import numpy as npimport tensorflow as tfimport gymnp.random.seed(2)tf.set_random_seed(2) # reproducible# SuperparametersOUTPUT_GRAPH = False #
2017-11-23 13:49:18
4430
原创 DARLA 源码解析
DARLA 源码解析标签(空格分隔): 增强学习算法 源码'''Implementation of DARLA preprocessing, as found in DARLA: Improving Zero-Shot Transfer in Reinforcement Learningby Higgins and Pal et al (https://arxiv.org/pdf/1707.08
2017-11-23 11:07:44
408
原创 DARLA: Improving Zero-Shot Transfer in Reinforcement Learning 阅读笔记
DARLA: Improving Zero-Shot Transfer in Reinforcement Learning标签(空格分隔): 论文笔记 增强学习算法DARLA Improving Zero-Shot Transfer in Reinforcement Learning目的和意义训练领域和应用领域source domain and target domain算法细则该论文主要讲
2017-11-23 10:11:28
1566
原创 FeUdal Networks for Hierarchical Reinforcement Learning 阅读笔记
FeUdal Networks for Hierarchical Reinforcement Learning标签(空格分隔): 论文笔记 增强学习算法FeUdal Networks for Hierarchical Reinforcement LearningAbstractIntroductionmodelLearningTransition Policy GradientsArch
2017-11-23 09:44:36
4978
2
原创 OpenAI_gym的官网案例
OpenAI_gym的官网案例Tags: openAI_gym创建,渲染,随机选择动作当然这只是gym的一个游戏,还有一些如: MountainCar-v0, MsPacman-v0 (requires the Atari dependency), or Hopper-v1 (requires the MuJoCo dependencies). Environments all descend fr
2017-11-23 08:46:23
7157
原创 Dynamic Programming - reinforcement learning
Dynamic Programming标签(空格分隔): Reinforcement Learning: An Introduction Dynamic ProgrammingDynamic ProgrammingPolicy EvaluationPolicy ImprovementPolicy IterationValue IterationAsynchronous Dynamic P
2017-11-21 23:37:22
589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人