PyTorch深度学习实践-P10卷积神经网络

 代码部分 参考了csdn上别的博主,经测试可以跑成功

复习:上一节的全连接神经网络

 任意两个节点之间都有权重

全连接层处理图片时丢失了部分空间信息,因为为它把输入直接连成了一长串,但没有考虑他们在图片中的位置

 处理图像时常用的二维卷积神经网络:考虑输入输出维度,做空间变换

工作方式:

输入图像1*28*28的张量 c*w*h

卷积层:保留图像的空间特征

feature maps:卷积之后,依然是三维张量,得到了4*24*24的图像 通道变了 高度宽度变了

feature maps:2*2下采样之后得到了4*12*12的图像,使用下采样时,通道数不变,图像高度宽度改变,下采样可以减少数据量,降低运算需求

5*5卷积,2*2下采样,维度由3阶到1阶(10个元素,一个向量),将张量展开成1维,上一讲用view来实现,

全连接层映射到10维输出,然后交叉熵损失,softmax计算分布

最终目的是将3维的图像转换到10维的线性空间中

把卷积下采样称为特征提取,全连接网络称为分类

卷积:

猫的图片,计算机读取RGB图像,是一个一个的格子--栅格图像,从自然界直接捕获

矢量图象:无法直接捕获,大部分人工生成,圆心在哪,边是啥颜色,用啥颜色填充,现画的

图像获取:ccd 数码采集器,光敏电阻,光锥可以识别一部分发射过来的光

输入图像c=3,3*w*h,,取3*w'*h'图像块(patch)来做卷积,输出是C*W*H

卷积运算过程

单通道卷积:输入1*5*5图像,卷积核3*3,输入与卷积核做数乘(对应的值相乘)

三通道卷积:RGB每个通道配一个卷积核,输入通道数量和卷积核数量一样,算出来三个矩阵之后做加法得到结果1*3*3,上下左右减去一行一列 

多通道输入:卷积核是n**的张量,输出是1*3*3

 假设要m个输出通道:m个卷积核卷积,然后拼接,m*w*h

卷积核的通道数量和输入通道数量一样,卷积核个数与输出通道数一样 即共享权重机制

把m个卷积核拼成一个4维张量,m*n*w*h、

卷积层代码:

 

 代码:

import torch
in_channels,out_
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值