第三周作业:卷积神经网络(Part1)

一、层和块

通过实例化nn.Sequential来构建我们的模型。下面的代码生成一个网络,其中包含一个具有256个单元和ReLU激活函数的全连接的隐藏层,然后是一个具有10个隐藏单元且不带激活函数的全连接的输出层。net(X)调用我们的模型来获得模型的输出。

import torch
from torch import nn
from torch.nn import functional as F

net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))

X = torch.rand(2, 20)
net(X)

正向传播(forward)函数也非常简单:它将列表中的每个块连接在一起,将每个块的输出作为下一个块的输入。

1、自定义块

二、卷积层


卷积是一种有效提取图片特征的方法 。 一般用一个正方形卷积核,遍历图片上的每一个像素点。图片与卷积核重合区域内相对应的每一个像素值,乘卷积核内相对应点的权重,然后求和, 再加上偏置后,最后得到输出图片中的一个像素值。
图片分灰度图和彩色图,卷积核可以是单个也可以是多个,因此卷积操作分以下三种情况:
1、单通道输入,单卷积核

这里单通道指的是输入为灰度图,单卷积核值卷积核个数是1个

2、多通道输入,单卷积核

多数情况下,输入的图片是 RGB 三个颜色组成的彩色图,输入的图片包含了红、绿、蓝三层数据,卷积核的深度(通道数)应该等于输入图片的通道数,所以使用 3x3x3的卷积核,最后一个 3 表示匹配输入图像的 3 个通道,这样这个卷积核有三通道,每个通道都会随机生成 9 个待优化的参数,一共有 27 个待优化参数 w 和一个偏置 b。

卷积计算方法和单层卷积核相似,卷积核为了匹配红绿蓝三个颜色,把三层的卷积核套在三层的彩色图片上,重合的 27 个像素进行对应点的乘加运算,最后的结果再加上偏置项 b,求得输出图片中的一个值。

 3、多通道输入,多卷积核

(1)先取出一个卷积核与3通道的输入进行卷积,这个过程就和多通道输入,单卷积核一样,得到一个1通道的输出output1。同样再取出第二个卷积核进行同样的操作,得到第二个输出output2
(2)将相同size的output1与output2进行堆叠,就得到2通道的输出output。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值