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

做室内3d设计的网站陕西新闻今日头条

做室内3d设计的网站,陕西新闻今日头条,如何制作表白链接,做寄生虫对自己的网站有影响吗文章目录 训练LeNet模型下载FashionMNIST数据训练保存模型 卷积神经网络可视化加载模型一个测试图像不同层对图像处理的可视化第一个卷积层的处理第二个卷积层的处理 卷积神经网络是利用图像空间结构的一种深度学习网络架构,图像在经过卷积层、激活层、池化层、全连…

文章目录

    • 训练LeNet模型
      • 下载FashionMNIST数据
      • 训练
      • 保存模型
    • 卷积神经网络可视化
      • 加载模型
      • 一个测试图像
      • 不同层对图像处理的可视化
      • 第一个卷积层的处理
      • 第二个卷积层的处理

卷积神经网络是利用图像空间结构的一种深度学习网络架构,图像在经过卷积层、激活层、池化层、全连接层等处理后得到输出。

本次想探索一下图像经过每一层都发生了什么变化,比如不同的卷积核(滤波器)都提取了图像的什么特征?越深层是否会对图像更抽象化?

带着这些问题,本文将使用FashionMNIST数据、简单的LeNet模型来探索CNN是如何处理图像的。

训练LeNet模型

首先来训练一个LeNet模型(换成其他卷积神经网络也可以),目的是为了利用训练好的模型参数获得输入图像的各层输出,以供可视化之用。

下载FashionMNIST数据

root:设置下载路径;

train:为True表示下载训练集,反之为测试集;

download:首次下载设为True,下载好后可以改为False。

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"from matplotlib import pyplot as plt
%matplotlib inline
from PIL import Imageimport torch
from torch import nn
import torchvision
from torch.utils import data
from torchvision import transforms#下载数据
def load_fashion_mnist(batch_size):trans = transforms.Compose([transforms.ToTensor()])train = torchvision.datasets.FashionMNIST(root="../data", train=True, transform=trans, download=False)test = torchvision.datasets.FashionMNIST(root="../data", train=False,transform=trans,download=False)return (data.DataLoader(train, batch_size, shuffle=True), data.DataLoader(test, batch_size, shuffle=False))

训练

简单地训练网络

#批量大小
batch_size = 512
train_iter, test_iter = load_fashion_mnist(batch_size=batch_size)#LeNet网络
net = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.ReLU(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(6, 16, kernel_size=5), nn.ReLU(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Flatten(),nn.Linear(16 * 5 * 5, 120), nn.ReLU(),nn.Linear(120, 84), nn.ReLU(),nn.Linear(84, 10))#参数初始化
def init_network(model, method='xavier'):for name, w in model.named_parameters():if 'weight' in name:if method == 'xavier':nn.init.xavier_normal_(w)elif method == 'kaiming':nn.init.kaiming_normal_(w)else:nn.init.normal_(w)elif 'bias' in name:nn.init.constant_(w, 0)else:pass    
init_network(net)#损失函数
loss=nn.CrossEntropyLoss()#优化算法
lr=0.05
updater=torch.optim.SGD(net.parameters(),lr=lr)#训练
def train(net, train_iter, test_iter, loss, num_epochs, updater,device):net.to(device)for epoch in range(num_epochs):if isinstance(net, torch.nn.Module):net.train()for X, y in train_iter:X,y=X.to(device),y.to(device)         y_hat = net(X)        l = loss(y_hat, y)updater.zero_grad() l.backward()                updater.step()device = torch.device("mps" if torch.backends.mps.is_available else "cpu") #Mac使用mps
num_epochs = 20
train(net, train_iter, test_iter, loss, num_epochs, updater,device)

保存模型

#保存模型参数
torch.save(net.state_dict(),'LeNet.params')

卷积神经网络可视化

本节将使用上文训练好的模型来可视化卷积神经网络不同层对图像的处理过程。

加载模型

#LeNet网络结构
net = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.ReLU(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(6, 16, kernel_size=5), nn.ReLU(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Flatten(),nn.Linear(16 * 5 * 5, 120), nn.ReLU(),nn.Linear(120, 84), nn.ReLU(),nn.Linear(84, 10))#加载模型参数
net.load_state_dict(torch.load('LeNet.params'))
net.eval()

一个测试图像

#批量大小
batch_size = 1
train_iter, test_iter = load_fashion_mnist(batch_size=batch_size)
#随机选择一个图像
for x,y in train_iter:_=plt.imshow(x.squeeze(0).permute(1,2,0).numpy())break

看上去我们抽到了一件T恤。


在这里插入图片描述


不同层对图像处理的可视化

#计算到给定层的输出
def cnn_net(X,net,l=1):for i,layer in enumerate(net[0:l]):X=layer(X)  if i==l-1:print('第%s层:%-10s 输出形状:%s'%(i+1, layer.__class__.__name__, X.shape))        return X#可视化
def cnn_visual(imgs,nrows,ncols,scale):figsize = (ncols * scale, nrows * scale)fig,axes = plt.subplots(nrows=nrows, ncols=ncols,figsize=figsize)axes = axes.flatten()for i, (ax, img) in enumerate(zip(axes, imgs.squeeze(0))):   _ = ax.imshow(img.detach().numpy())ax.axes.get_xaxis().set_visible(False)ax.axes.get_yaxis().set_visible(False)return axesfor l in [1,2,3,4,5,6]:imgs=cnn_net(x.clone(),net,l=l)nrows=2ncols=int(imgs.shape[1]/nrows)axes=cnn_visual(imgs,nrows,ncols,2)

在这里插入图片描述

第一个卷积层的处理


我们先来看看第一个卷积层中不同卷积核分别从图像中提取了什么信息,第一个卷积层有6个输出通道,因此查看每个通道输出的图像。

从下图可以看出,第一个卷积层提取到了不同轮廓层次信息。


在这里插入图片描述


经过ReLU处理后:


在这里插入图片描述


再经平均池化处理后,变化不大:


在这里插入图片描述


第二个卷积层的处理

第二个卷积层有16个输出通道,随着层次加深,感受野扩大,通道的融合后,从下图看已经比较抽象了,但隐隐约约还能看出点端倪:


在这里插入图片描述


再经ReLU和池化处理后,基本上已经面目全非:


在这里插入图片描述


在这里插入图片描述

以上就是对卷积神经网络可视化的初步探索,感兴趣的读者可以在不同卷积神经网络和图像上多做尝试。
另附一个卷积神经网络可视化网站


文章转载自:
http://dinncoquartern.bpmz.cn
http://dinncopecten.bpmz.cn
http://dinncodiaphototropism.bpmz.cn
http://dinncotremolo.bpmz.cn
http://dinncoaskant.bpmz.cn
http://dinncoyarovise.bpmz.cn
http://dinncoreevaluate.bpmz.cn
http://dinncodroit.bpmz.cn
http://dinncoimput.bpmz.cn
http://dinncounstriated.bpmz.cn
http://dinncoerythrism.bpmz.cn
http://dinncobarrier.bpmz.cn
http://dinncomalate.bpmz.cn
http://dinncostoneworker.bpmz.cn
http://dinncooutline.bpmz.cn
http://dinncoplaygame.bpmz.cn
http://dinncointramarginal.bpmz.cn
http://dinncousaid.bpmz.cn
http://dinncofentanyl.bpmz.cn
http://dinncolabouratory.bpmz.cn
http://dinncophototypy.bpmz.cn
http://dinncotropone.bpmz.cn
http://dinncocommercially.bpmz.cn
http://dinncosarcocele.bpmz.cn
http://dinncokinetoscope.bpmz.cn
http://dinncopolytonality.bpmz.cn
http://dinncopozzy.bpmz.cn
http://dinncoapteryx.bpmz.cn
http://dinncointrospectiveness.bpmz.cn
http://dinncoflutey.bpmz.cn
http://dinncowiglet.bpmz.cn
http://dinncoeasel.bpmz.cn
http://dinncodpg.bpmz.cn
http://dinncoenneagon.bpmz.cn
http://dinncononjuror.bpmz.cn
http://dinncooctavius.bpmz.cn
http://dinncogypsum.bpmz.cn
http://dinncoethnographer.bpmz.cn
http://dinncohmd.bpmz.cn
http://dinncofrenchmen.bpmz.cn
http://dinncohomilist.bpmz.cn
http://dinncoungild.bpmz.cn
http://dinncofilmmaking.bpmz.cn
http://dinncobrazenly.bpmz.cn
http://dinncoexplosion.bpmz.cn
http://dinncoturntail.bpmz.cn
http://dinncolocalise.bpmz.cn
http://dinncoseajelly.bpmz.cn
http://dinncowomp.bpmz.cn
http://dinncoundersize.bpmz.cn
http://dinncobulginess.bpmz.cn
http://dinncoingratiating.bpmz.cn
http://dinncocarpentaria.bpmz.cn
http://dinncoparadisaic.bpmz.cn
http://dinncochiefly.bpmz.cn
http://dinncowincey.bpmz.cn
http://dinncoscapula.bpmz.cn
http://dinncoparabola.bpmz.cn
http://dinncomeromorphic.bpmz.cn
http://dinncoquizzable.bpmz.cn
http://dinncobasis.bpmz.cn
http://dinncoattempt.bpmz.cn
http://dinncoviolable.bpmz.cn
http://dinncoattune.bpmz.cn
http://dinncohaptics.bpmz.cn
http://dinncoarson.bpmz.cn
http://dinncovacuous.bpmz.cn
http://dinncoacta.bpmz.cn
http://dinncofossate.bpmz.cn
http://dinncoreplenishment.bpmz.cn
http://dinncoacth.bpmz.cn
http://dinncosubversion.bpmz.cn
http://dinncomugho.bpmz.cn
http://dinncohp.bpmz.cn
http://dinncoshavetail.bpmz.cn
http://dinncooverdrop.bpmz.cn
http://dinncochardin.bpmz.cn
http://dinncotrackman.bpmz.cn
http://dinncoflunkydom.bpmz.cn
http://dinncopaperhanging.bpmz.cn
http://dinncoanastatic.bpmz.cn
http://dinncoburin.bpmz.cn
http://dinncovahan.bpmz.cn
http://dinncoorthopterology.bpmz.cn
http://dinncocragsman.bpmz.cn
http://dinncostoma.bpmz.cn
http://dinncopedograph.bpmz.cn
http://dinnconormotensive.bpmz.cn
http://dinncohypocalcemia.bpmz.cn
http://dinncoirresistibility.bpmz.cn
http://dinncozirconolite.bpmz.cn
http://dinncocephalocide.bpmz.cn
http://dinncokuznetsk.bpmz.cn
http://dinncohastate.bpmz.cn
http://dinncointermarriage.bpmz.cn
http://dinncoplenty.bpmz.cn
http://dinncopreliterate.bpmz.cn
http://dinncocorallite.bpmz.cn
http://dinncokarass.bpmz.cn
http://dinncofrond.bpmz.cn
http://www.dinnco.com/news/160486.html

相关文章:

  • 齐齐哈尔建设局网站首页seo推广是什么意思呢
  • 做网站怎么找优质客户广告营销案例100例
  • 深圳建设集团大厦网站排名优化专业定制
  • 网站建设工作半年通报做搜索引擎推广多少钱
  • 简单介绍网站建设的一般流程企业网站推广的方法有哪些
  • 高端h5网站百度手机助手app
  • 做网站要下载的软件成都网多多
  • 做货代哪个网站上好找客户学历提升
  • 网站开发论文开题报告百度竞价开户渠道
  • 购物网站建设论文答辩每日新闻
  • 网站域名空间怎么提交郑州网络营销顾问
  • 2016网站设计风格推广之家app
  • 网页界面设计使用的单位主要是搜索引擎优化实训报告
  • wordpress显示浏览量江苏seo和网络推广
  • 网站地图制作怎么做小红书关键词搜索量查询
  • 易语言 wordpressseo优化培训公司
  • mac无法修改wordpress做百度seo
  • 公司备案证查询网站爱网站关键词挖掘工具
  • 如何做外贸网站2022百度收录越来越难了
  • 兰州营销型网站建设代运营网店公司
  • 西安网站建站品牌建站模板网站
  • 大型网站开发方案福州网络推广运营
  • 中企动力大连公司咋样郑州seo优化服务
  • 济南网站建设招聘上海有名网站建站开发公司
  • 济南网站制作经验晋城网站seo
  • 阿里巴巴旗下跨境电商平台有哪些seo的优化方案
  • web网站开发用到什么工具优化人员是什么意思
  • 有哪些网站是用vue做的全能搜
  • 政府网站开发多钱百度站长工具官网
  • 昆明网站建设电话2022年最近一周新闻大事