Pytorch神经网络工具箱

 一、神经网络核心组件

层(卷积层、池化层等):神经网络的基本结构,将输入张量转换为输出张量。

模型:由层构成的网络。

损失函数:参数学习的目标函数,通过最小化损失函数来学习各种参数。

优化器:用于使损失函数最小化。

 

 二、构建神经网络的主要工具

1.nn.Module

继承自Module类,可自动提取可学习的参数。

适用于卷积层、全连接层、Dropout层(丢弃法)。

Pytorch神经网络工具箱_第1张图片

 

Linear全连接层

Cohv2d卷积层

BatchNormld批量归一化 希望数据平缓的变化

forward正向传播

flatten(x)一维向量

relu激活函数

 

与nn.functional相比

需要先实例化并传入参数,然后以函数调用的方式调用实例化的对象。

能很好地与nn.Sequential结合使用。

不需要自己定义和管理weight、bias参数。

Dropout操作在训练和测试阶段可自动转换状态。

 

2.nn.functional

更像是纯函数。

适用于激活函数、池化层。

 

Sequential容器

 

与nn.xxx相比

需要手动定义和传入weight、bias等参数。

不利于代码复用。

无法与nn.Sequential结合使用。

无自动状态转换功能。

 

三、构建模型

1.继承nn.Module基类:自定义类继承nn.Module,定义__init__和forward方法构建模型。

 

2.使用nn.Sequential:

a.可按层顺序构建,有可变参数

Pytorch神经网络工具箱_第2张图片

 

(01234)就是按层构建

 

b. 使用add_module方法(可指定层名称)。

Pytorch神经网络工具箱_第3张图片

 

一层层导入定义

 

⚠️ Linear全连接层

Cohv2d卷积层

BatchNormld批量归一化 希望数据平缓的变化

forward正向传播

flatten(x)一维向量

relu激活函数

 

你可能感兴趣的:(笔记,人工智能,大数据)