首页 > 其他分享 >深度学习--卷积神经网络基础

深度学习--卷积神经网络基础

时间:2023-04-23 21:13:37浏览次数:40  
标签:layer nn 16 -- torch 卷积 神经网络 out

深度学习--卷积神经网络基础

1.卷积操作

卷积操作简单来说就是矩阵对应位置相乘求和,这样不仅可以减少模型的参数数量,还可以关注到图像的局部相关特性。

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


#卷积操作(Input_channel:输入的通道数,kernel_channels:卷积核的数量,kernel_size:卷积核的大小,stride:步长,padding:边缘补足)
layer = nn.Conv2d(1,3,kernel_size=3,stride=1,padding=0)
x=torch.rand(1,1,28,28)

out=layer.forward(x)
out.shape
#torch.Size([1, 3, 26, 26])

layer = nn.Conv2d(1,3,3,1,1)
out=layer.forward(x)
out.shape
#torch.Size([1, 3, 28, 28])

layer = nn.Conv2d(1,16,3,2,1)
out=layer.forward(x)
out.shape
#torch.Size([1, 16, 14, 14])

layer.weight
#Parameter containing:
#tensor([[[[-0.1798, -0.1656,  0.1464],
#          [ 0.1882,  0.2773, -0.3111],
#          [-0.1793,  0.0608,  0.0770]]],
#
#
#        [[[-0.3308, -0.0402, -0.3012],
#          [-0.1773, -0.1429,  0.2020],
#          [-0.0483, -0.0098,  0.3240]]],
#
#
#        [[[-0.2946,  0.2950, -0.1390],
#          [-0.2534, -0.2021,  0.3280],
#          [-0.1135,  0.1895, -0.3254]]]], requires_grad=True)

2.池化与采样

池化操作是卷积神经网络中的一个特殊操作,主要就是在一定区域内提取出该区域的关键性信息,其操作往往出现在卷积层之后,其能起到减少卷积层输出特征量数目的作用,从而能减少模型参数,同时能改善过拟合现象

根据不同的操作分为:

  1. pooling(下采样):把图像变小,例如 4 * 4 -> 2 * 2
  2. upsample(上采样):把图像变大
  3. ReLU
#池化与采样    nn.MaxPool2d(池化窗口的大小,stride:步长)
x=torch.rand(1,16,28,28)
layer=nn.MaxPool2d(2,2)
out=layer(x)
out.shape
#torch.Size([1, 16, 14, 14])

#上采样,放大
x=out
out = F.interpolate(x,scale_factor=2,mode='nearest')
out.shape
#torch.Size([1, 16, 28, 28])

3. normlization

这个地方没有太清楚是在干啥!!!

#特征缩放
#图片特征Image Normalization   mean=[R ,G,B]的normalize
#normalize = transforms.Normalize(mean=[0.485 ,0.456,0.406],std=[0.229,0.224,0.225])

#批标准化 Batch Normalization 
#Batch Norm , Layer Norm ,Instance Norm ,Group Norm
#一些好处:收敛更快,性能更好,鲁棒性好

x=torch.randn(1,16,7,7)
x.shape
#torch.Size([1, 16, 7, 7])

layer=nn.BatchNorm2d(16)
out=layer(x)

layer.weight
#Parameter containing:
#tensor([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
#       requires_grad=True)
layer.weight.shape
#torch.Size([16])
layer.bias.shape
#torch.Size([16])

vars(layer) #可以查看相关信息

标签:layer,nn,16,--,torch,卷积,神经网络,out
From: https://www.cnblogs.com/ssl-study/p/17347753.html

相关文章

  • c++打卡十三天
    一、问题描述。 二、设计思路①、首先我们是用二分法解决这个问题。二分法是指在一个有序数组中,我们通过目标数与数组中间值的比较,对半缩小数组范围,比如一个升序数组中间值是4,当我们寻找一个比四小的数字时,只需要从首位和中间值中寻找,然后继续确定新的中间值,长此以往,就可以有......
  • Docker-compose
    一、Docker-compose应用场景我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。服务编排有很多种技术方案,今天给大家介绍Docker官方产品DockerCompose。dockerswarm(管理跨节点)Dockerfile可以让用户管理一个单独的应用容......
  • SpringMVC-ssm案例-2023-04-23
    一、准备工作1.1、搭建普通maven项目,framework的web项目1.2、加载maven依赖:junit-mysql-connector-C3P01                   servlet-jsp/JSTL                 MyBatis  MyBatis-spring  ......
  • 四月二十三日
    今日所完成代码<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><metahttp......
  • Docker存储
    Docker存储Docker为容器提供了两种存放数据的资源:(1)由storagedriver管理的镜像层和容器层。(2)DataVolume。1.storagedriver容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是Copy-on-Write:(1)新数据会直接存放......
  • 0002_内部类、静态嵌套类
    内部类、静态嵌套类内部类的一个简单例子如下所示:在外部类中定义了一个非静态内部类"InnerClass",并在该类的方法中实例化并调用了该内部类。publicclassOuterClass{privateintouterVar;publicOuterClass(intvar){outerVar=var;}publi......
  • iSlide - PPT 设计美化插件
    简介iSlide是一款基于PPT(PowerPoint)开发的插件工具,目前还支持Windows平台的WPSOffice。即使你不懂设计,也能利用iSlide内置的丰富资源库及功能,轻松高效地创建各类专业PPT演示文档。功能特性两大主流Office办公平台支持iSlide支持Windows系统上的MicrosoftOffi......
  • Mysql - Gorm Updates的坑
    //如果单个属性被更改了,更新它db.Model(&user).Update("name","hello")////UPDATEusersSETname='hello',updated_at='2013-11-1721:34:10'WHEREid=111;//使用组合条件更新单个属性db.Model(&user).Where("active=?",true).U......
  • DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步
    场景Kettle-开源的ETL工具集-实现SqlServer到Mysql表的数据同步并部署在Windows服务器上:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119891674上面讲过Kettle的使用,下面记录下阿里开源异构数据源同步工具DataXDataXDataX是一个异构数据源离线同步工具,致力......
  • 专题目录图标搜索说明
    可以使用对应的图标搜索对应的专题文章。专题标题专题图标Java基础♨Java集合❂Java并发㉿SpringBoot㊫SpringCloud☁         ......