pointnet++网络结构(inceptionv1网络结构)

pointnet++网络结构(inceptionv1网络结构)1 问题 1 Inception 详解 2 利用 Inception 模块搭建网络 2 方法 什么是 Inception Inception 模块的核心思想就是将不同的卷积层通过并联的方式结合在一起 经过不同卷积层处理的结果矩阵在深度这个维度拼接起来 形成一个更深的矩阵 Inception 模块可以反复叠堆形成更大的网络 它可以对网络的深度和宽度进行高效的扩充

大家好,我是讯享网,很高兴认识大家。



1 问题

(1)Inception详解

(2)利用Inception模块搭建网络


2 方法

  1. 什么是Inception

Inception模块的核心思想就是将不同的卷积层通过并联的方式结合在一起,经过不同卷积层处理的结果矩阵在深度这个维度拼接起来,形成一个更深的矩阵。Inception模块可以反复叠堆形成更大的网络,它可以对网络的深度和宽度进行高效的扩充,在提升深度学习网络准确率的同时防止过拟合现象的发生。Inception模块的优点是可以对尺寸较大的矩阵先进行降维处理的同时,在不同尺寸上对视觉信息进行聚合,方便从不同尺度对特征进行提取。

Inception模块中包含卷积操作,但是不同于传统卷积神经网络,此模块中可以设置多个通路,每个通路可以是不同的操作,相同的操作也可以设置不同的kernel size和stride。不同的卷积尺寸提供了不同的感受野,可以做不同级别上的特征提取,池化操作本身有提取特征的作用,而且因为没有参数不会产生过拟合,所以池化操作也作为此模块的一个通路。

Pytorch搭建Inception

[_,1,28,28]

        [16,14,14]

        [,128,14,14]


讯享网

        [,256,7,7]

        [,256,1,1]

        [,256]

        [,10]

import torch
from torch import nn
class second(nn.Module):
    def init(self,in_plances):
        super().init()
        self.b1=nn.Sequential(
            nn.Conv2d(
                in_channels=in_plances,
                out_channels=16,
                kernelsize=3,
                padding=1,
                stride=2
            ),
            nn.ReLU()
        )
        ‘’‘
        [
,1,28,28]
        [16,14,14]
        [
,128,14,14]
        [,256,7,7]
        [
,256,1,1]
        [,256]
        [
,10]
        ’‘’
        self.b2=nn.Sequential(
            nn.Conv2d(
                in_channels=16,
                out_channels=128,
                kernel_size=3,
                padding=1
            ),
            nn.ReLU()
        )
        self.b3=nn.Sequential(
            nn.Conv2d(
                in_channels=128,
                out_channels=256,
                kernel_size=3,
                padding=1,
                stride=2,
            ),
            nn.ReLU()
        )
        self.b4=nn.Sequential(
            nn.MaxPool2d(7),
            nn.ReLU()
        )
        self.flatten5=nn.Flatten()
        self.b6=nn.Sequential(
            nn.Linear(
                in_features=25611,
                out_features=256
            ),
            nn.ReLU()
        )
        self.b7=nn.Linear(
            in_features=256,
            out_features=10
        )
    def forward(self,x):
        x=self.b1(x)
        x=self.b2(x)
        x=self.b3(x)
        x=self.b4(x)
        x=self.flatten5(x)
        x=self.b6(x)
        x=self.b7(x)
        return x
if name==main:
    x=torch.rand(size=(1,1,28,28))
    block = second(in_plances=1)
    out = block(x)
    print(out.shape)

主要有两种类型的池化操作:最大池化(Max Pooling)和平均池化(Average Pooling)。最大池化(Max Pooling):对于每个池化窗口(通常大小为2x2或3x3),选择窗口内的最大值作为输出。最大池化有助于保留图像中最显著的特征,通过选择最大值来捕捉局部特征。


3 结语

一个简单的卷积神经网络,适用于图像分类任务。模型的结构包括卷积层、池化层和全连接层,通过ReLU激活函数进行非线性变换。

池化(Pooling)是卷积神经网络(CNN)中一种常用的操作,用于减小输入数据的空间尺寸,降低计算量,同时保留重要特征。池化操作通常在卷积层之后应用。

小讯
上一篇 2025-05-17 07:02
下一篇 2025-05-18 08:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/196855.html