pytorch中构建卷积层一般使用nn.Conv2d方法,有些情况下我们需要自定义卷积核的权值weight,而nn.Conv2d中的卷积参数是不允许自定义的,此时可以使用torch.nn.functional.conv2d简称F.conv2d

torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)

F.conv2d可以自己输入且也必须要求自己输入卷积权值weight和偏置bias。因此,构建自己想要的卷积核参数,再输入F.conv2d即可。下面是一个用F.conv2d构建卷积层的例子,这里为了网络模型需要写成了一个类:

class CNN(nn.Module):def __init__(self):super(CNN, self).__init__()self.weight = nn.Parameter(torch.randn(16, 1, 5, 5))  # 自定义的权值self.bias = nn.Parameter(torch.randn(16))    # 自定义的偏置def forward(self, x):x = x.view(x.size(0), -1)out = F.conv2d(x, self.weight, self.bias, stride=1, padding=0)return out

值得注意的是,pytorch中各层需要训练的权重的数据类型设为nn.Parameter,而不是Tensor或者Variable。parameter的require_grad默认设置为true,而Varaible默认设置为False。

pytorch自定义卷积核权值参数相关推荐

  1. 卷积核权值初始化_Pytorch卷积层手动初始化权值的实例

    由于研究关系需要自己手动给卷积层初始化权值,但是好像博客上提到的相关文章比较少(大部分都只提到使用nn.init里的按照一定分布初始化方法),自己参考了下Pytorch的官方文档,发现有两种方法吧. ...

  2. pytorch 自定义卷积核进行卷积--卷积核订制

    镜像问题:tensorflow 卷积:设定特定卷积核 动机: 有时候我们希望对神经网络得到的张量进行特定的卷积操作,如求梯度,求边缘等. 或者,有时我们希望把图像进行预处理操作后输入神经网络,而这个预 ...

  3. PyTorch 自定义卷积核「数据」

    在做一些模型分析的时候可能需要将卷积核内的参数定制化(eg:全为1),此时就没办法直接使用模型中定义好的卷积了,需要将其数据给修改下方能使用,但是其输入输出通道以及卷积核大小需要留用,在此就可以单独的 ...

  4. 卷积核权值初始化_CNN怎么自定义卷积核初始值?

    诶呦,光热心了.问题没理解清楚.是卷积核初始化.不是网络初始化.卷积核初始化我也没做过.文档是这样写的. ParamAttr¶ class paddle.fluid.ParamAttr(name=No ...

  5. CNN中的局部连接(Sparse Connectivity)和权值共享

    局部连接与权值共享 下图是一个很经典的图示,左边是全连接,右边是局部连接. 对于一个1000 × 1000的输入图像而言,如果下一个隐藏层的神经元数目为10^6个,采用全连接则有1000 × 1000 ...

  6. CNN中的卷积操作与权值共享

    CNN中非常有特点的地方就在于它的局部连接和权值共享,通过卷积操作实现局部连接,这个局部区域的大小就是滤波器filter,避免了全连接中参数过多造成无法计算的情况,再通过参数共享来缩减实际参数的数量, ...

  7. caffemodel权值可视化(转)

    原文地址:https://www.cnblogs.com/denny402/p/5103425.html 通过前面的学习,我们已经能够正常训练各种数据了.设置好solver.prototxt后,我们可 ...

  8. PyTorch框架学习十一——网络层权值初始化

    PyTorch框架学习十一--网络层权值初始化 一.均匀分布初始化 二.正态分布初始化 三.常数初始化 四.Xavier 均匀分布初始化 五.Xavier正态分布初始化 六.kaiming均匀分布初始 ...

  9. Pytorch —— 权值初始化

    1.梯度消失与爆炸 这里使用一个三层的全连接网络,现在观察一下第二个隐藏层W2W_2W2​的权值的梯度是怎么求取的. 根据链式求导法则可以知道,W2W_2W2​的求导如下: H2=H1∗W2\math ...

最新文章

  1. Verilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误
  2. 【组队学习】【30期】吃瓜教程——西瓜书+南瓜书
  3. Python图片操作-psd_tools:将psd文件转换成BMP
  4. 倒排文件索引(Inverted File Index)的建立
  5. 理想的 ASP.NET AJAX (Part 1 - Client Centric)
  6. 30秒解决电脑越用越卡的大众常见难题
  7. linux 开机logo制作工具,linux开机logo制作
  8. Unity2D:简单人物纸娃娃换装实现(一) 服装的变换
  9. python 文件内容对比_用python进行文件比对
  10. 不拽术语,如何通俗地讲解机器学习?
  11. 【游戏运营】【推荐阅读】
  12. 如何高效地从BAM文件中提取fastq
  13. 清微智能CTO欧阳鹏:架构创新是通往高性能计算芯片必由之路|量子位·视点分享回顾...
  14. HiveHive创建数据库与创建数据库表
  15. 数学建模常用模型05 :多元回归模型
  16. php制作登录页面的过程_PHP实现简单登录界面
  17. 安装数据库中间件——Mycat
  18. 区块链到底能干什么?
  19. Excel 数字按长度补0,并转换为文本
  20. powerbi日期转化error

热门文章

  1. Python数据预处理数据的方法总结(使用sklearn-preprocessing)
  2. 王者荣耀8月15日服务器维护,王者荣耀8月15日更新维护到什么时候 王者荣耀8月15日更新时间分享...
  3. 2020年深度学习调参技巧合集
  4. Text2SQL 语义解析数据集、解决方案、paper资源整合项目
  5. 标签生成-基于标签的的推荐系统
  6. 【LeetCode】3月19日打卡-Day4
  7. 基于知识图谱的直升机飞行指挥模型研究
  8. Python:Tensorflow中两个稀疏张量相乘
  9. Python:使用matplotlib进行绘图时中文变成乱码的解决
  10. HTTP的请求报文与响应报文