当前位置: 首页 > wzjs >正文

上海seo推广整站只有一个域名怎么建设网站

上海seo推广整站,只有一个域名怎么建设网站,青岛建站价格,试用网站cms卷积层 classtorch.nn.Conv2d参数含义常见用法in_channels输入特征图的通道数,比如 RGB 图片是 3输入数据的通道数out_channels卷积层输出的通道数(卷积核数量)控制输出特征图深度kernel_size卷积核大小,可以是整数或元组&#xf…

卷积层 classtorch.nn.Conv2d

参数含义常见用法
in_channels输入特征图的通道数,比如 RGB 图片是 3输入数据的通道数
out_channels卷积层输出的通道数(卷积核数量)控制输出特征图深度
kernel_size卷积核大小,可以是整数或元组,如 3 或 (3, 3)常用 3、5、7
stride步长,控制卷积核滑动的步幅默认 1,常见 1 或 2
padding填充,输入的边缘补零数量常用 0、1、'same'(新版本支持)
dilation扩张卷积的膨胀系数默认 1,>1 时用于空洞卷积
groups分组卷积的分组数默认 1,Depthwise 卷积可设为 groups=in_channels
bias是否加偏置默认 True,大部分情况保留
padding_mode填充方式,默认 'zeros'(零填充)可选 'reflect', 'replicate', 'circular'
device放在哪个设备上初始化(如 'cuda')默认 None
dtype张量类型默认 None

代码: 

import torch
import torch.nn as nn

conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)

输入 3 通道(比如 RGB 图像),输出 16 个通道,卷积核 3x3,padding=1 保证输出尺寸不变。

小贴士:

  • 不加 padding 的话:输出尺寸会变小

  • stride=2:特征图尺寸减半

  • groups>1:用来做分组卷积,groups=in_channels 时就是深度可分离卷积(Depthwise)

  • dilation>1:膨胀卷积用来扩大感受野

import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
#下载测试集
dataset = torchvision.datasets.CIFAR10("./data_CIF", train=False, transform=torchvision.transforms.ToTensor(),download=True)
#打包为每次64张
dataloader = DataLoader(dataset, batch_size=64)
#创建一个神经网络框架
class Tudui(nn.Module):def __init__(self):super().__init__()#框架中的步骤self.conv1 = nn.Conv2d(in_channels=3, out_channels=6, kernel_size=3, stride=1, padding=0)def forward(self, x):#训练顺序x = self.conv1(x)return xtudui = Tudui()
#tensorboard保存地址
writer = SummaryWriter("./logs")
count = 0
for data in dataloader:#将data中的img取出来img, target = data#训练前的img写到tensorboard上writer.add_images("input", img, count)#img进行训练output = tudui(img)#将输出层数从6变成3,为了不报错而已output = torch.reshape(output, (-1,3,30,30))# 训练的结果写到tensorboard上writer.add_images("output",output,count)count += 1

池化层 torch.nn.MaxPool2d 

池化层(Pooling Layer)是卷积神经网络(CNN)中的一种下采样(subsampling 或 downsampling)操作,主要作用是降低特征图的尺寸,减少计算量,控制过拟合,同时保留关键特征。


常见池化方式

类型特点举例
最大池化 Max Pooling取池化窗口内的最大值,保留最显著特征常见于图像分类,如nn.MaxPool2d
平均池化 Average Pooling取池化窗口内的平均值,平滑特征常用于特征平滑、稀疏特征
全局平均池化 Global Average Pooling直接对整个特征图求平均,常用于分类器前一层nn.AdaptiveAvgPool2d(1)


为什么要用池化层 💡

  • 降低特征维度:减少后续层的计算量

  • 增加感受野:通过池化,模型感知更大范围的信息

  • 特征平移不变性:小范围位移不会改变池化结果,增强模型的鲁棒性

  • 抑制过拟合:减少模型复杂度,有轻微的正则化效果


池化层工作原理示意

假设输入特征图为 4×4:

1 3 2 4

5 6 1 2

7 2 8 3

4 5 9 0

使用 2×2 的最大池化,步长 2

  • 第一个窗口 [1,3,5,6] → 最大值 6

  • 第二个窗口 [2,4,1,2] → 最大值 4

  • 第三个窗口 [7,2,4,5] → 最大值 7

  • 第四个窗口 [8,3,9,0] → 最大值 9

输出结果是:

6 4

7 9

👉 尺寸从 4×4 变为 2×2。

一句话总结

池化层=信息压缩器📉,帮你更快更稳地提取重要特征。理解了卷积是特征提取,池化就是特征精炼!

 

#nn_maxpool.pyimport torch
import torchvision.datasets
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
#读取数据
dataset = torchvision.datasets.CIFAR10(root='./data_CIF', train=False, download=True,transform=torchvision.transforms.ToTensor())
#将64张照片为一批
dataloader = DataLoader(dataset, batch_size=64)
#创建一个框架
class Tudui(nn.Module):def __init__(self):super().__init__()#定义池化层self.MaxPool = nn.MaxPool2d(kernel_size=3, ceil_mode=False)def forward(self, x):#将x经过池化层后返回给outputoutput = self.MaxPool(x)return outputtudui = Tudui()
#建一个tensorboard文件
writer = SummaryWriter("./logs_maxpool")
count = 0
for data in dataloader:img, target = datawriter.add_images("input", img, count)#将img传给神经网络output = tudui(img)writer.add_images("output", output, count)count += 1writer.close()

结果如下:

 

 非线性激活函数 Non-linear Activations

非线性激活函数(Non-linear Activations),是神经网络的“灵魂”,没有它们,整个网络就只是一堆线性组合,哪怕你叠 100 层卷积,本质还是“线性映射”,根本学不了复杂特征!

为什么要用非线性激活?

因为现实世界是非线性的📈!比如:

  • 识别猫和狗,不是简单加加减减就能分开;

  • 预测房价、翻译语言,特征之间关系很复杂。

激活函数引入非线性,帮助网络逼近任意复杂函数,才真正拥有“智能”。


PyTorch 中常见非线性激活函数

函数名字特点
ReLUnn.ReLU()最常用,正数直接输出,负数输出 0,速度快,收敛快
Sigmoidnn.Sigmoid()输出 (0,1),适合二分类,但有梯度消失问题
Tanhnn.Tanh()输出 (-1,1),比 Sigmoid 对称一点,但梯度也可能消失
LeakyReLUnn.LeakyReLU()负数也给一个小斜率,避免“神经元死亡”
PReLUnn.PReLU()LeakyReLU 的升级版,负斜率可训练
ELUnn.ELU()负数部分平滑衰减,训练更稳健
Softmaxnn.Softmax()输出概率分布,常用于分类的最后一层
LogSoftmaxnn.LogSoftmax()取 softmax 的 log 值,常配合 nn.NLLLoss() 使用


常见用法 🎯

import torch.nn as nn 
# ReLU激活 
relu = nn.ReLU() 
# 二分类Sigmoid 
sigmoid = nn.Sigmoid() 
# 多分类Softmax 
softmax = nn.Softmax(dim=1) # 注意要指定dim # 用法 
output = relu(input)

网络结构中的位置

通常用法:

nn.Sequential(nn.Linear(128, 64),nn.ReLU(),nn.Linear(64, 32),nn.ReLU(),nn.Linear(32, 10),nn.Softmax(dim=1)  # 只有最后一层用softmax
)

👉 特征提取层 + 激活 = 能学到深层次的特征


🌟 一句话总结:

非线性激活函数=大脑的“反射弧”,让神经网络会“拐弯”!
选对激活函数,训练速度飞起,效果也更稳。

import torch
import torchvision.datasets
from torch import nn
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10(root='./data_CIF', train=False, download=True, transform=torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset, batch_size=64)
#创建一个框架
class Tudui(nn.Module):def __init__(self):super().__init__()#定义了relu和sigmod函数self.relu1 = nn.ReLU()self.sigmod1 = nn.Sigmoid()def forward(self, x):#只使用sigmod函数output = self.sigmod1(x)return outputtudui = Tudui()
writer = SummaryWriter("logs_relu")count = 0
for data in dataloader:img,target = data#将照片送入框架output = tudui(img)writer.add_images("input", img, count)writer.add_images("Target", output, count)count += 1
writer.close()

结果: 

http://www.dtcms.com/wzjs/809556.html

相关文章:

  • 赣榆区住房和城乡建设局网站构建网站需要什么意思
  • 娄底市住房和城乡建设局官方网站移动网站怎么登录
  • 域名不同网站程序相同服务外包的三种形式
  • 小程序开发网站设计制作创新建设资金网站
  • 石家庄公司网站如何制作it行业做网站一个月多少钱
  • 江苏山海连云建设有限公司网站外贸网站多语言
  • 做网站建设的合同小程序开发注意事项
  • 汕头网站推广seodede搭建网站教程
  • 做网站的图片制作网站教程
  • 金溪做网站微信官网网页版
  • 简述网站开发的过程百度html代码
  • 做货代在哪些网站能找到客户企业招聘网
  • 佛山手机建站模板电商网站设计文档
  • 温州电力建设有限公司网站wordpress声明
  • 上海做网站的公司官网广州网捷网站建设技术有限公司
  • 网站开发合理性是什么意思在wordpress中 密码
  • 网站开发接口文档上海短视频seo优化网站
  • app下载安装到手机上北京网站优化和推广
  • 哪里有网站源文件下载电商seo优化是什么
  • 嘉定广州网站建设承德seo
  • 中铁建设集团华东分公司网站破解版WordPress主题
  • 怎么看网站用的什么后台element ui页面模板
  • 做家具厂招聘有哪些网站自己如何在网上做网站
  • dede手机网站制作网页设计作业怎么保存
  • python怎么做抢课网站WordPress调用内部js
  • 设计制作网站制作国外做连接器平台网站
  • 维护网站多少钱简述jsp网站架构
  • 当前业界主流的网站建设毕设做网站心得体验
  • 怎么制作网站商城自己做短视频网站
  • 网站如何做原创文章多语言网站模板