卷积神经网络
文章平均质量分 92
老光头_ME2CS
机械转计算机视觉的光头老僧
展开
-
ResNeSt 模型分析和代码详解 (拆组和通道注意力ResNet)
ResNeSt: Split-Attention Networks模型的拆分注意力网络,最近特别火,主要是作为深度学习的backbone模型,ResNeSt在不同的图像任务中都有效提高了模型的预测精度。因此今天分享下,最近两天学习的心得体会,参考资料如下:ResNeSt: Split-Attention Networksgithub官网B站作者讲解张航主页文章目录安装使用ResNeSt创新点split(multi-brach)Channel attention代码详解resnest.pyresn原创 2020-10-13 15:49:20 · 18409 阅读 · 18 评论 -
【语义分割】DANet Dual Attention Network for Scene Segmentation
A∈RC×H×WA\in \mathbb{R}^{C \times H \times W}A∈RC×H×W{B,C}∈RC×H×W\{\mathbf{B}, \mathbf{C}\} \in \mathbb{R}^{C \times H \times W}{B,C}∈RC×H×WRC×N\mathbb{R}^{C \times N}RC×Nsji=exp(Bi⋅Cj)∑i=1Nexp(Bi⋅Cj)s_{j i}=\frac{\exp \left(B_{i} \cdot C_{j}\right)}{原创 2020-10-07 20:19:35 · 1455 阅读 · 1 评论 -
Pytorch 创建网络 ResNet18
最近在使用Linux训练网络的过程中,发现Torch在多GPU和多线程任务的API确实比Tensorflow更加友好,尤其是对于我这个非计算机专业的小白而言。所以只能仍疼割TF,转手Torch。相比Keras+Tensorflow的搭建方式,由于都是静态图方式,Torch的搭建方法基本与相似。有兴趣的小伙伴可以对博文学习。迁移学习还是按照之前写Tensorflow2.*的框架重建模型的思路,先参考官方的pre-trained模型的结构import torchvision.models as mode原创 2020-07-23 15:27:51 · 1582 阅读 · 1 评论 -
Tensorflow2.* Keras 视频5维输入 shape调整 tf.reshape()
视频输入问题传统的图像网络的输入数据格式input_shape =(batch, h, w, c),但对于视频输入(batch, number_frames, h, w, c)。我们在keras建模的时候batch_size默认为input_shape[0],无法改变,同时keras.layers.Conv2d等层操作也是按照4维张量处理输入输入。解决方案一:维度切片堆叠(不推荐)在模型搭建的过程中,在number_frames维度进行堆叠,即在喂给keras.layers.Conv2d前将数据按nu原创 2020-06-20 22:16:44 · 1495 阅读 · 0 评论 -
Tensorflow2.* keras CBAM 代码实现
文章目录理论推导整体模型框架Channel attention moduleSpatial attention module对比SENet代码复现理论推导整体模型框架试验结果显示串联效果优于并联结果,channel attention在前由于spatial attention在前。因此,最后采取的是一个channel attention module与一个spatial attention module串联的形式。表达式如下:F′=Mc(F)⨂F{F}'=M_{c}(F)\bigotimes原创 2020-06-13 08:23:01 · 7280 阅读 · 4 评论 -
Tensorflow2.* keras Squeeze-and-Excitation Networks(SENet) 代码实现
注意机制模型对于任意的特征变换操作Ftr:X→UF_{tr}:X\rightarrow UFtr:X→U,其中X∈RH′×W′×C′X\in \mathbb{R}^{{H}'\times {W}'\times {C}'}X∈RH′×W′×C′, U∈RH×W×CU\in \mathbb{R}^{H\times W\times C}U∈RH×W×C,FtrF_{tr}Ftr表示类似卷积操作的特征变换过程。uc=vc∗X=∑s=1C′vcs∗xsu_{c}=v_{c}*X=\sum_{s=1}^{{原创 2020-06-11 17:09:18 · 3131 阅读 · 6 评论 -
Tensorflow keras.preprocessing.image.ImageDataGenerator 自定义图像数据集 (三)
主要以Keras的ImageDataGenerator图像生成器方式讲解如何定义数据集关于生成器函数的介绍,请参考:https://blog.csdn.net/Forrest97/article/details/106317598优点:针对大样本的图像数据集,生成器函数可以节约内存资源import tensorflow as tffrom tensorflow.keras.preprocessing.image import ImageDataGeneratorimport osimport原创 2020-05-24 17:40:32 · 1892 阅读 · 0 评论 -
Tensorflow2.0 keras MobileNetV2 代码实现
目录迁移学习自编程序BlockDepthwise Separable block参考网络介绍请参看:博文keras搭建深度学习模型的若干方法:博文直接上网络结构迁移学习依旧看看标准答案import tensorflow as tffrom tensorflow import kerasbase_model = keras.applications.MobileNetV2(weights='imagenet')base_model.summary()自编程序Block原创 2020-05-20 09:50:35 · 3755 阅读 · 2 评论 -
Tensorflow2.0 keras MobileNet 代码实现
目录迁移学习自编程序Depthwise Separable blockDepthwise Separable block参考网络介绍请参看:博文keras搭建深度学习模型的若干方法:博文直接上网络结构迁移学习依旧看看标准答案import tensorflow as tffrom tensorflow import kerasbase_model = keras.applications.MobileNet(weights='imagenet')base_model.summar原创 2020-05-19 21:04:33 · 1680 阅读 · 0 评论 -
Tensorflow2.* keras padding=valid or same ZeroPadding 边界填充设置
目录边界填充目的计算公式layers.ZeroPadding2Dpadding='valid' or 'same''valid''same'边界填充目的在卷积操作中有效控制特征层的size计算公式h'=|(h+p-k)/s| +1其中,h’表示卷积后特征层的高p表示上下填充的行数k表示卷积核在高度方向上的大小s表示滑动补上| |表示取整同理可得到w’=|(w+p-k)/s| +1layers.ZeroPadding2Dlayers.ZeroPadding2D可以定义padding原创 2020-05-19 10:22:05 · 1129 阅读 · 1 评论 -
Tensorflow2.0 keras DenseNet121 系列 代码实现
目录迁移学习自编代码参考模型介绍请参看:博文keras搭建深度学习模型的若干方法:博文迁移学习import tensorflow as tffrom tensorflow import kerasbase_model = keras.applications.DenseNet121(weights='imagenet')base_model.summary()自编代码在这里插入代码片参考https://github.com/titu1994/DenseNethttp原创 2020-05-17 11:25:42 · 6840 阅读 · 2 评论 -
Tensorflow2.0 keras InceptionResNetV2代码实现
目录迁移学习自编代码定义卷积单元Stem模块InceptionRes A模块InceptionRes B模块InceptionRes C模块Reduction AReduction BBuild Inception-ResNet补充:模型介绍请参看:博文出处:Google AI迁移学习首先还是看看标准答案import tensorflow as tffrom tensorflow import kerasbase_model = keras.applications.Incept原创 2020-05-16 15:07:15 · 3225 阅读 · 8 评论 -
Tensorflow2.0 keras ResNet18 34 50 101 152系列 代码实现
模型介绍参看:博文可以产出ResNet系列最多层数达到了152层,但是基本结构可以分为四个模块,即特征层分别为64,128,256,512的卷积层block;每个卷积层block中如上图,由两组卷积层由两层卷积核大小为3x3组成,每一层采取了标准化(normalization)处理,激活函数是relu,第二个relu在残差处理后进行;但是根据不同深度, 每个卷积层模块的block数量存在差异,可以分为两组(18,34)与(50,101,152);因此建立基本模块类建立ResNet是更优的选择。原创 2020-05-15 17:02:18 · 9370 阅读 · 3 评论 -
tensorflow2.0 Keras VGG16 VGG19 系列 代码实现
模型介绍参看:博文VGG16迁移模型先看看标准答案import tensorflow as tffrom tensorflow import kerasbase_model = keras.applications.VGG16(weights='imagenet')base_model.summary()自建模型import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras原创 2020-05-15 10:16:10 · 5204 阅读 · 0 评论 -
Tensorflow 2.0 视频分类(四) C3D 3D convolutional Networks
论文学习摘要开篇明义,三点结论:3D 卷积网络比2D卷积更适合提取时空特征;3x3x3的卷积核是最好的filter结构;C3D与线性分类器的组合有在UCF101数据集上很好的分类效果介绍视频分类在动作识别、非常规动作识别、活动理解、视频内容描述等领域;视频描述器的四个特点:通用、有竞争力、高效、简洁;卷积网络并不适用于处理视频数据,因此提出 C3D.不同数据集上的表现:除Sport 1M上,其他数据比之前最好的都要好。优秀!相关研究传统机器视觉领域的SIFTs(spatio-t原创 2020-05-14 22:08:36 · 2155 阅读 · 5 评论 -
Tensorflow 2.0 视频分类(二) UCF-101数据集预处理
关于UCF-101介绍请参看:数据下载下载路径:http://crcv.ucf.edu/data/UCF101/UCF101.rar解压后就是分类数据集的标准目录格式,二级目录名为人类活动类别,二级目录下就是对应的视频数据。每个视频长度为4s,大小320*240, 帧率25HZ需要注意是相同的活动下,参考https://blog.coast.ai/five-video-classifi...原创 2020-05-14 20:25:22 · 3893 阅读 · 12 评论 -
Tensorflow 2.0 视频分类(一) 数据集
数据集UCF-101(最常见)2013年中央佛羅里達大學(UCF) center for research in computer vision发布从YouTube上爬的101类人员运动识别数据集。ICCV’13 运动识别竞赛的Benchmark关键参数共有13320个视频片段,分为25个组,每个组再分为4-7个视频类,共组成101类:The action categories for...原创 2020-05-14 20:19:05 · 1249 阅读 · 0 评论 -
Tensorflow 2.0 keras.models.Sequential() Model() 创建网络的若干方式 及共享权重问题
keras建立网络的方法可以分为keras.models.Sequential() 和keras.models.Model()、继承类三种方式。目录keras.models.Sequential() ()keras.models.Model()继承类keras.models.Sequential() ()适用于简单线性堆叠网络。流程:创建Sequential()对象,逐层堆叠网络import tensorflow as tffrom tensorflow.keras import layers,原创 2020-05-14 16:45:43 · 8167 阅读 · 8 评论 -
Tensorflow 神经网络 二分类 多分类 输出层网络结构 与loss计算的from_logits设置
针对二分类问题,最后一层的输出可以采用不同的设置方式,关键是取决于目标值y_target的数据处理形式。目录目标输出 (0 or 1)方案一方案二from_logits设置结果比较方案一方案二无概率处理结果目标输出 one_hot 编码(10 or 01)目标输出 (0 or 1)如果y_target处理成(N, 1)格式,即布尔型格式(但本质应该还是整型)最后一层的网络结构,采用1个神经元的全连接网络:方案一tf.keras.layers.Dense(1) #最后层model.compil原创 2020-05-13 12:01:49 · 4608 阅读 · 0 评论 -
with tf.GradientTape() as tape 梯度带 Tensorflow自动求导API
梯度带(Gradientape)的定义TensorFlow 为自动微分提供了 tf.GradientTape API ,根据某个函数的输入变量来计算它的导数。Tensorflow 会把 ‘tf.GradientTape’ 上下文中执行的所有操作都记录在一个磁带上 (“tape”)。 然后基于这个磁带和每次操作产生的导数,用反向微分法(“reverse mode differentiation”)...原创 2020-05-04 10:49:04 · 18337 阅读 · 6 评论 -
Tensorflow2.0 卷积神经网络可视化 (三)类激活热力图 (CAM,class activation map)
在神经网络分别中,我们不仅想知道最终预测结果,还需要了解网络是凭借图像什么特征进行判断的。其中类激活热力图 (CAM,class activation map)就是一种很好的呈现方式。目录标题类激活热力图 (CAM,class activation map)导入ImageNet VGG16网络加载任一图片构建多特征层输出模型应用Grad-CAM 算法绘制激活热力图前三类结果比较参考类激活热力图...原创 2020-05-03 14:45:42 · 10253 阅读 · 15 评论 -
Tensorflow2.0 卷积神经网络可视化 (一)中间特征层可视化
目录标题中间特征层可视化导入ImageNet VGG16网络加载任一图片构建多特征层输出模型所有中间层的显示参考中间特征层可视化导入ImageNet VGG16网络导入基础包import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tf导入ImageNet VGG16网络VGG16_model = ...原创 2020-05-02 21:13:32 · 9701 阅读 · 18 评论 -
Tensorflow2.0 tf.data.Dataset.from_tensor_slices 自定义图像数据集 (一)
Pytorch标准二级目录名为类别的图像存储格式数据,采用Pytorch自带APIdb = torchvision.datasets.ImageFolder(root='dir', transform=preprocess)Tensorflow标准二级目录名为类别的图像存储格式数据,采用Pytorch自带APIdb = torchvision.datasets.ImageFolder(...原创 2020-05-01 21:22:57 · 2979 阅读 · 0 评论 -
初学者 深度学习 人工神经网络 可视化网站
手写数字卷积神经网络可视化https://www.cs.ryerson.ca/~aharley/vis/conv/LeNet-5网络结构二维数据集的在线网络训练playground.tensorflowhttp://playground.tensorflow.org/高维降维可视化projector.tensorflowhttps://projector.tensorflow....原创 2020-04-20 13:39:32 · 2797 阅读 · 3 评论 -
Tensorflow2.0 迁移学习 Fine tune 模型库Tensorflow Hub
参考Tensorflow官网的图像迁移学习的训练内容:使用TF Hub进行迁移学习https://tensorflow.google.cn/tutorials/images/transfer_learning_with_hub使用预训练的CNN进行迁移学习https://tensorflow.google.cn/tutorials/images/transfer_learning模型库...原创 2020-04-30 15:20:49 · 1291 阅读 · 0 评论 -
深度学习 机器视觉 经典卷积神经网络 Tensorflow2.0 keras.applications
背景经典网络结构就是我们使用深度学习进行烹饪的食材,活学活用好我们的经典神经网络,为我们的实际应用提供事半功倍的效果经典的深度卷积神经网络作为机器视觉中图像特征提取的重要工具,被广泛应用于图像分类、语义分割和目标检测等实际场景中。2012到2017年的I全球最大的ImageNet大赛中涌现了一大批性能突出的网络,基于此数据集训练的卷积神经网络被认为具有突出的图像特征提取的功能。由于一般的个...原创 2020-04-22 19:47:15 · 4818 阅读 · 0 评论