pytorch框架的上手理解

1.对pytorch 的理解 

1.pytorch 框架:专门针对GPU加速的

核心功能模块:

1.torch  : 提供对多维张量以及对张量的操作,从加减乘除到线性代数操作,随机数生成

2.torch.nn :提供构建神经网络的各种组件,包括各种网络层(全连接层,卷积层,RNN层)

激活函数(RELU,sigmoid,tanh),损失函数(MSE,交叉熵),简化模型构建

3.torch.optim: 提供多种优化算法更新网络权重:包括SGD,Adam,RMSprop ,执行不同的优化策略

4.torchvision : 处理图像数据,包括常用的数据集加载器,图像转换操作,预训练好的模型

5.autograd: 自动求导功能,实现神经网络反向传播的核心,用户自定义前向传播逻辑,pytorch自动计算梯度,简化神经网络的训练

6.torch.cuda : 将张量分配到cuda 设备上

对Module 和function 的理解:

Function: 基础类,用于定义和实现自定义op,创建一个具有特定前向传播和反向传播的新操作,需要继承Function类,并重写forward 和 backward 方法

Init :初始化,Function类本身不具有状态

Forward :定义前向传播,接收任何数量和类型的输入参数,但是返回值必须是tensor元组

Backward :计算图中反向传播是,会被自动调用,指定如何根据函数输出的梯度计算输入的梯度,参数通常是输出的梯度,返回值应该是与输入相对应的梯度

Module:

定义function时,本身不需要变量,Module是变量和Function的结合题,这些参数是可学习的(如神经网络的权重)

1.变量和函数的结合体:

将变量和函数结合在一起,变量通常是可学习的参数,函数是操作这些变量的函数,在神经网络的上下文中,变量通常是网络层的权重和偏置,函数则是应用于输入数据和这些权重的操作(卷积,线性变换)

2.容器:

组织和管理其他module和function ,可以构建复杂的网络结构,继承module类,创建自己的网络层(全连接层)

VGG模型:特点:在卷积层统一使用3*3卷积核核2*2 池化核,层数更深,特征图更宽

实现VGG-16,13层卷积层,3层全连接层

SGD  随机梯度下降:收敛速度慢,对小批量数据计算得出的梯度来更新参数,减少计算资源的消耗,并提高训练速度

‘Adam 优化器:自适应学习率,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值