Neural Network
WeissSama
写清楚 搞清楚
展开
-
GoogleNet和Inception模块
在研究yolo v1的时候碰到的,虽然都是过时的东西,还是记录一下下面是GoogleNET的结构。googlenet里面有一个特殊的结构,就是四个操作并行的层。这个层叫做inception模块。可以看一下这里的实现:import torchfrom torch import nn# 定义一个卷积加一个 relu 激活函数和一个 batchnorm 作为一个基本的层结构def conv_relu(in_channel, out_channel, kernel, stride=1, paddi原创 2021-12-14 17:53:57 · 2405 阅读 · 0 评论 -
人体关键点检测--hourglass
hourglass网络 主要参考。https://towardsdatascience.com/using-hourglass-networks-to-understand-human-poses-1e40e349fa15转载 2021-09-26 17:10:40 · 365 阅读 · 0 评论 -
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。
在图像分割领域,经常需要把低分辨率的feature map恢复到原始图分辨率,所以许多网络会使用upPooling上池化,upSampling上采样,Deconvolution反卷积或者其他方法。这篇文章记录这些操作的具体不同。UpPooling我们先不讨论其他的下池化,比如average pooling等等,这里的UpPooling是maxPooling的逆向操作。下图中,执行maxpooling的时候会记录pooling indices,也就是最大值在原feature map的位置。如果要将max原创 2021-09-26 15:14:04 · 1438 阅读 · 0 评论 -
空洞卷积Dilated Conv的感受野,计算量以及实现方法详解
空洞卷积的原理:通过在卷积核中插入0值,得到更大的卷积核,更大的卷积核意味着更大的感受野。同时不需要降采样,保持了图像的分辨率。当然,如果将普通卷积的stride设置为大于1,也能起到增加感受野的效果,但是这样的话,feature的尺寸就会变小。...原创 2020-03-02 10:25:09 · 1463 阅读 · 0 评论 -
RCNN 系列一讲到底
主要分为4个章节和一个用来讲解相关基础知识的appendix。Section 1 – Image Pre-Processing:在这一节,主要介绍对输入图像的预处理方法,包括对图像减去像素的均值,对图像尺度缩放。注意,训练和预测阶段的图像预处理必须保持一致。Section 2 – Network Organization:在这一节,将会描述网络的三个主要部分,头部head网络,RPN网络,...原创 2020-02-07 22:22:57 · 375 阅读 · 0 评论 -
有无bottleneck情况下实现的ResNet v1和v2结构 。
上一篇文章中写了关于ResNet中的conv方法,主要是使用了fixed padding技术。本文介绍的其实是四种ResNet结构,而大家常用的可能只是其中的带bottleneck结构,也就是1 3 1型的ResNet_v2 ,所以本文介绍顺序是bottleneck block v2block v2bottleneck block v1block v1V1 论文地址V2论文地址re...原创 2019-04-11 20:57:36 · 1778 阅读 · 0 评论 -
ResNet tensorflow中的fixed padding
首先是ResNet中的conv layer,使用的不是普通的tf.layers.conv2d(),而是对padding进行了一定处理。def conv_layer(bottom, filters, kernel_size, name=None, strides=1, padding='same', use_bias=False, kernel_initializer= tf.cont...原创 2019-04-10 17:33:07 · 1239 阅读 · 0 评论 -
RetinaNet系列1:ResNet和FPN部分总结
在FPN 原文Feature Pyramid Networks for Object Detection中,使用了ResNet原文 Deep Residual Learning for Image Recognition中的resnet34层模型的 conv2到conv5,conv2到conv5的的维度分别是64,128,256,512。输入图片的size是224x224 。我们先说FPN的目...原创 2018-12-19 17:12:33 · 17822 阅读 · 8 评论 -
softmax cross_entropy
softmax函数作用交叉熵代价函数的优点一般的代价函数比如二次代价函数,对参数w或者b求偏导之后,结果和激活函数的导数成正比,也就是说当激活函数导数很小的时候(随机初始化导致激活函数输入小,从而对应导数大),学习就会变得很慢。而如果使用交叉熵的代价函数,最后激活函数的导数项会抵消,只剩下x和激活函数本身,w的梯度只和输入值与实际值之间的差值成正比,也就是说,误差越大,学习速率就会越快。...原创 2018-11-10 11:10:43 · 202 阅读 · 0 评论 -
RoI pooling介绍
这篇博客先不谈faster rcnn系列,只谈一下RoI pooling的原理。参考这篇英文博客Region of interest pooling (RoI pooling)是一项广泛用在基于CNN的物体检测中的操作, 它的作用是对size各不相同的输入进行max_pooling操作,输出具有固定size(比如7x7)的feature maps.在物体检测问题中,通常有两步,1 Regi...原创 2018-11-02 16:41:50 · 463 阅读 · 0 评论 -
tf.nn.conv2d & tf.contrib.layers.conv2d & tf.contrib.slim.conv2d
本文主要介绍前两个函数tf.nn.conv2d和tf.contrib.layers.conv2d 因为tf.contrib.layers.conv2d 和 tf.contrib.slim.conv2d用法是相似的,都是高级api,只是slim是一个更高级别的库,用slim中的repeat函数,可以用几行就写出一个vgg16网络。但是tf.nn和tf.contrib.layera是基本操作,最常...原创 2018-09-01 20:44:11 · 5652 阅读 · 0 评论 -
CNN笔记
1 Truncated Normal 在初始化模型的weight的时候,通常使用 truncated_normal.tf.truncated_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)tf中的介绍是: The generate...原创 2018-09-01 04:35:32 · 275 阅读 · 0 评论 -
Notes on CNN
1 Methodology1.1Stride:Number of pixels when conv kernel or pooling window moves at each steps 1.2 Padding:There are 2 kinds of padding, First is “same” padding: “same” padding pads pixels t...原创 2018-05-24 05:09:57 · 235 阅读 · 0 评论