resnet

手撸网络结构—ResNet

我的梦境 提交于 2020-02-07 00:50:50
ResNet 核心就是残差学习单元,相比常规神经网络残差学习单元能够避免出现梯度消失的现象。 ResNet使用两种残差单元,左图(BasicBlock)对应的是浅层网络,而右图(Bottleneck)对应的是深层网络。 在每组残差单元中,第一个单元需要进行下采样从而与单元输出的结果进行匹配。 resnet18采用的都是BasicBlock进行的叠加,前两组残差单元如下图: resnet50采用的都是Bottleneck进行的叠加,前两组残差单元如下图: 文字功力有限,直接上代码: import torch import torch . nn as nn from torchsummary import summary def conv3x3 ( in_planes , out_planes , padding = 0 , stride = 1 , bn = True , rl = True ) : """3x3 convolution with padding""" layers = [ ] layers . append ( nn . Conv2d ( in_planes , out_planes , kernel_size = 3 , padding = padding , stride = stride ) ) if bn : layers . append ( nn .

ResNet model in Tensorflow Federated

孤街浪徒 提交于 2020-02-05 14:38:09
问题 I tried to customize the model in "Image classification" tutorial in Tensorflow Federated. (It originally used a sequential model) I use Keras ResNet50 but when it began to train, there is always an error "Incompatible shapes" Here are my codes: NUM_CLIENTS = 4 NUM_EPOCHS = 10 BATCH_SIZE = 2 SHUFFLE_BUFFER = 5 def create_compiled_keras_model(): model = tf.keras.applications.resnet.ResNet50(include_top=False, weights='imagenet', input_tensor=tf.keras.layers.Input(shape=(100, 300, 3)), pooling

译文:FishNet

好久不见. 提交于 2020-02-05 04:31:05
FishNet: 用于图像、区域和像素级的多功能主干网络 摘要 对于预测不同层级的目标对象(如图像级、区域级和像素级),设计卷积神经网络( CNN )结构的基本原则具有多样性。一般来讲,专门为图像分类任务所设计的网络结构,会默认作为其他任务(包括检查和分割)的主干网络结构。但是,多数网络的主干设计并没有考虑统一网络的优势,而为像素级或区域级的预测任务设计主干网络,原因可能是需要更高分辨率的深层特征。为了实现这一目标,本文设计了一个类似鱼形的主干网络,我们称为 FishNet 。在 FishNet 中,所有的解决方案信息都会被保留,并在最后的任务进行精炼。除此之外,我们观察到,现存的工作并不能直接将梯度信息从深层网络传递给浅层网络,而本文的设计可以更好地处理该问题。为了验证 FishNet 的性能表现,我们进行了大量实验。特别地,在 ImageNet-1k 数据集上,在参数较少的情况下, FishNet 的性能可以完全超过 DenseNet 和 ResNet 。 FishNet 已经被应用在赢得 2018 年 COCO 检测挑战赛的一个模块中。代码被公开在: https://github.com/kevin-ssy/FishNet 。 1 简介 在计算机视觉领域中,卷积神经网络( CNN , Convolutional Neural Network

resnet网络实现猫狗分类

杀马特。学长 韩版系。学妹 提交于 2020-01-28 11:31:37
用残差网络来实现猫狗数据集分类,猫狗分类是一个很经典的图像分类问题。自己用resnet网络来对猫狗分类进行了一个简单的实现,残差网络比较浅层,效果并不好,还可以加深层网络,更改超参数对模型进行改进。首先将数据集保存在对应路径下,用get_image获取图片和标签,再利用get_batch获得一个batch的图像数据和标签数据,代码都有着非常详细的注释。 mport tensorflow as tf import os import matplotlib as mpl import numpy as np from PIL import Image mpl.rcParams['font.sans-serif']=[u'simHei'] mpl.rcParams['axes.unicode_minus']=False cwd='D:/wemystic/datas/imagecalssify/tensorflow-vgg16-train-and-test-master/train'#训练图像路径 classes=['cat','dog']#文件夹目录 def get_image(): image_list=[]#构建存储路径的列表 label_list=[]#构建标签列表 for index,name in enumerate(classes):#分别获取路径和标签 class_path

Pytorch常用包

偶尔善良 提交于 2020-01-23 20:14:08
torch:张量的有关运算。如创建、索引、连接、转置、加减乘除、切片等 torch.nn: 包含搭建神经网络层的模块(Modules)和一系列loss函数。如全连接、卷积、BN批处理、dropout、CrossEntryLoss、MSELoss等 torch.nn.functional:常用的激活函数relu、leaky_relu、sigmoid等 torch.autograd:提供Tensor所有操作的自动求导方法 torch.optim:各种参数优化方法,例如SGD、AdaGrad、Adam、RMSProp等 torch.utils.data:用于加载数据 torch.nn.init:可以用它更改nn.Module的默认参数初始化方式 torchvision.datasets:常用数据集。MNIST、COCO、CIFAR10、Imagenet等 torchvision.modules:常用模型。AlexNet、VGG、ResNet、DenseNet等 torchvision.transforms:图片相关处理。裁剪、尺寸缩放、归一化等 -torchvision.utils:将给定的Tensor保存成image文件 来源: CSDN 作者: 立志正常毕业的二狗子 链接: https://blog.csdn.net/qq_43270479/article/details

目标检测中多尺度:特征金字塔FPN_Feature Pyramid Networks for Object Detection

只谈情不闲聊 提交于 2020-01-21 19:09:49
原始内容来源于: https://blog.csdn.net/cdknight_happy/article/details/100528127 https://blog.csdn.net/WZZ18191171661/article/details/79494534 包含理解! 参考文献:https://arxiv.org/abs/1612.03144 代码实现:http://www.yueye.org/2018/faster-rcnn-coupled-with-fpn-in-tensorflow.html https://github.com/DetectionTeamUCAS/FPN_Tensorflow FPN:Feature Pyramid Networks for Object Detection 摘要 特征金字塔是目标识别系统能够进行 多尺度目标识别 的关键组件。但由于特征金字塔的内存占用和计算量很大,因此很多算法都不想使用它。 本文利用深度卷积网络本身固有的多尺度、层次化构建特征金字塔,只带来了很少的额外成本。本文开发了具有横向结构的从上到下的连接,用于在所有尺度上构建高层语义特征 。本文提出的网络叫做 FPN ,在很多应用中可以作为一个 通用的特征提取器 。将FPN和Faster R-CNN结合,我们的模型在不使用任何技巧的情况下

图像分类

帅比萌擦擦* 提交于 2020-01-20 12:25:15
图像分类 本教程源代码目录在 book/image_classification ,初次使用请您参考 Book文档使用说明 。 # 说明: 1.硬件环境要求: 本文可支持在CPU、GPU下运行 2.Docker镜像支持的CUDA/cuDNN版本: 如果使用了Docker运行Book,请注意:这里所提供的默认镜像的GPU环境为 CUDA 8/cuDNN 5,对于NVIDIA Tesla V100等要求CUDA 9的 GPU,使用该镜像可能会运行失败。 3.文档和脚本中代码的一致性问题: 请注意:为使本文更加易读易用,我们拆分、调整了train.py的代码并放入本文。本文中代码与train.py的运行结果一致,可直接运行 train.py 进行验证。 # 背景介绍 图像相比文字能够提供更加生动、容易理解及更具艺术感的信息,是人们转递与交换信息的重要来源。在本教程中,我们专注于图像识别领域的一个重要问题,即图像分类。 图像分类是根据图像的语义信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。图像分类在很多领域有广泛应用,包括安防领域的人脸识别和智能视频分析等,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册自动归类,医学领域的图像识别等。 一般来说

Converting keras.applications.resnet50 to a Sequential gives error

青春壹個敷衍的年華 提交于 2020-01-16 18:01:12
问题 I want to convert pretrained ResNet50 model from keras.application to a Sequential model but it gives input_shape error. Input 0 is incompatible with layer res2a_branch1: expected axis -1 of input shape to have value 64 but got shape (None, 25, 25, 256) I read this https://github.com/keras-team/keras/issues/9721 and as I understand the reason of error is skip_connections. Is there a way to convert it to a Sequential or how can I add my custom model to end of this ResNet Model. This is the

Resnet50 does not converge. VGG16 works fine

一曲冷凌霜 提交于 2020-01-16 08:23:15
问题 I trained one regression network using resnet50 as backbone. The input of the network is image whose size is 224*224*3 , the output of the network is one value , varying from 0 to 1 . but the netwrok can not converge, no matter I use sigmoid or relu as output layer's activation. mae or mse as loss function . For exampple, I use resnet50 as backbone, mae as loss function, sigmoid is the activation function of output layer. SGD as optimizer. The training loss would be: Epoch 1 training loss is

Resnet50 does not converge. VGG16 works fine

痴心易碎 提交于 2020-01-16 08:21:18
问题 I trained one regression network using resnet50 as backbone. The input of the network is image whose size is 224*224*3 , the output of the network is one value , varying from 0 to 1 . but the netwrok can not converge, no matter I use sigmoid or relu as output layer's activation. mae or mse as loss function . For exampple, I use resnet50 as backbone, mae as loss function, sigmoid is the activation function of output layer. SGD as optimizer. The training loss would be: Epoch 1 training loss is