Pytorch抽取网络层的Feature Map(Vgg)实例
这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了)
索引可以这样获得
vgg = models.vgg19(pretrained=True).features.eval() print (vgg)
Feature Map可利用下面的class
class Vgg16(nn.Module): def __init__(self, pretrained=True): super(Vgg16, self).__init__() self.net = models.vgg16(pretrained).features.eval() def forward(self, x): out = [] for i in range(len(self.net)): x = self.net[i](x) if i in [3, 8, 15, 22, 29]: # print(self.net[i]) out.append(x return out
以上这篇Pytorch抽取网络层的Feature Map(Vgg)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
pytorch 可视化feature map的示例代码
之前做的一些项目中涉及到feature map 可视化的问题,一个层中feature map的数量往往就是当前层out_channels的值,我们可以通过以下代码可视化自己网络中某层的feature map,个人感觉可视化feature map对调参还是很有用的. 不多说了,直接看代码: import torch from torch.autograd import Variable import torch.nn as nn import pickle from sys import path
-
pytorch获取vgg16-feature层输出的例子
实际应用时可能比较想获取VGG中间层的输出, 那么就可以如下操作: import numpy as np import torch from torchvision import models from torch.autograd import Variable import torchvision.transforms as transforms class CNNShow(): def __init__(self, model): self.model = model self.model
-
pytorch在fintune时将sequential中的层输出方法,以vgg为例
有时候我们在fintune时发现pytorch把许多层都集合在一个sequential里,但是我们希望能把中间层的结果引出来做下一步操作,于是我自己琢磨了一个方法,以vgg为例,有点僵硬哈! 首先pytorch自带的vgg16模型的网络结构如下: VGG( (features): Sequential( (0): Conv2d (3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace) (2): Co
-
Pytorch 抽取vgg各层并进行定制化处理的方法
工作中有时候需要对vgg进行定制化处理,比如有些时候需要借助于vgg的层结构,但是需要使用的是2 channels输入,等等需求,这时候可以使用vgg的原始结构用class重写一遍,但是这样的方式比较慢,并且容易出错,下面给出一种比较简单的方式 def define_vgg(vgg,input_channels,endlayer,use_maxpool=False): vgg_ad = copy.deepcopy(vgg) model = nn.Sequential() i = 0 for la
-
Pytorch抽取网络层的Feature Map(Vgg)实例
这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了) 索引可以这样获得 vgg = models.vgg19(pretrained=True).features.eval() print (vgg) Feature Map可利用下面的class class Vgg16(nn.Module): def __init__(self, pretrained=True): super(Vgg16, self).__init__() self.n
-
在keras中获取某一层上的feature map实例
在深度学习中,如果我们想获得某一个层上的feature map,就像下面的图这样,怎么做呢? 我们的代码是使用keras写的VGG16网络,网络结构如图: 那么我们随便抽取一层的数据吧,就拿第四层的pooling以后的结果作为输出吧,参考上面的网络结构,得到的结果维度应该是[1,56,56,128]的尺度. 怎么做呢? 首先通过keras构建模型: model = VGG16(include_top=True, weights='imagenet') 然后设置输入和输出为:原始的输入和该层对应的
-
Pytorch: 自定义网络层实例
自定义Autograd函数 对于浅层的网络,我们可以手动的书写前向传播和反向传播过程.但是当网络变得很大时,特别是在做深度学习时,网络结构变得复杂.前向传播和反向传播也随之变得复杂,手动书写这两个过程就会存在很大的困难.幸运地是在pytorch中存在了自动微分的包,可以用来解决该问题.在使用自动求导的时候,网络的前向传播会定义一个计算图(computational graph),图中的节点是张量(tensor),两个节点之间的边对应了两个张量之间变换关系的函数.有了计算图的存在,张量的梯度计算也
-
PyTorch之图像和Tensor填充的实例
在PyTorch中可以对图像和Tensor进行填充,如常量值填充,镜像填充和复制填充等.在图像预处理阶段设置图像边界填充的方式如下: import vision.torchvision.transforms as transforms img_to_pad = transforms.Compose([ transforms.Pad(padding=2, padding_mode='symmetric'), transforms.ToTensor(), ]) 对Tensor进行填充的方式如下: i
-
微信小程序 地图(map)实例详解
微信小程序 地图(map)实例 这里是小编对微信小程序 地图(map API )做的资料整理,获取当前的地址,应该如何实现的实例,大家可以看下. 今天做到地图定位的模块.模拟器肯定是获取不到位置的.下面为真机测试结果. 上图: 经纬度不说了.定位用的,我这里直接输入的数字定位.但是有许多问题 下图中scale是缩放比例,这个属性目前无效.后期微信团队应该会修复.毕竟现在刚开始公测.这样就导致我不管怎么修改scale,我的地图都是在默认的缩放比例.如上图. markers中的rotate是图标的旋
-
httpclient 请求http数据,json转map的实例
实例如下: package com.idc.dataAudit.dataResource; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache
-
对Tensorflow中权值和feature map的可视化详解
前言 Tensorflow中可以使用tensorboard这个强大的工具对计算图.loss.网络参数等进行可视化.本文并不涉及对tensorboard使用的介绍,而是旨在说明如何通过代码对网络权值和feature map做更灵活的处理.显示和存储.本文的相关代码主要参考了github上的一个小项目,但是对其进行了改进. 原项目地址为(https://github.com/grishasergei/conviz). 本文将从以下两个方面进行介绍: 卷积知识补充 网络权值和feature map的可
-
PyTorch: 梯度下降及反向传播的实例详解
线性模型 线性模型介绍 线性模型是很常见的机器学习模型,通常通过线性的公式来拟合训练数据集.训练集包括(x,y),x为特征,y为目标.如下图: 将真实值和预测值用于构建损失函数,训练的目标是最小化这个函数,从而更新w.当损失函数达到最小时(理想上,实际情况可能会陷入局部最优),此时的模型为最优模型,线性模型常见的的损失函数: 线性模型例子 下面通过一个例子可以观察不同权重(w)对模型损失函数的影响. #author:yuquanle #data:2018.2.5 #Study of Linear
随机推荐
- Android 使用Vitamio打造自己的万能播放器(2)—— 手势控制亮度、音量、缩放
- Node做中转服务器转发接口
- JS正则表达式完美实现身份证校验功能
- jQuery 表单验证插件formValidation实现个性化错误提示
- 在ASP.NET 2.0中操作数据之六十三:GridView实现批量删除数据
- 深入理解Python中的内置常量
- ASP下Cookie操作的详细讲解
- 浅谈PHP中的错误处理和异常处理
- php面向对象(一) 初窥(php面向对象基础介绍)
- 基于Vue.js实现tab滑块效果
- asp.net获取select值的方法
- 8个简单部分开启Java语言学习之路 附java学习书单
- jquery(hide方法)隐藏指定元素实例
- win2003遭受udp攻击导致带宽占用很大
- js实现滑动触屏事件监听的方法
- MyBatis快速入门
- java实现MD5加密的方法小结
- C#使用winform简单导出Excel的方法
- DedeCms模板安装/制作概述
- Android手势ImageView三部曲 第二部