pytorch

部署运行你感兴趣的模型镜像

计算梯度(反向传播):y.backward()

控制梯度计算:梯度计算是有性能开销的,有些时候我们只是简单的运算,并不需要梯度

with torch.no_grad():冒号后跟不需要计算梯度只需要运算的表达式

如果不需要计算梯度-全局设置:  torch.set_grad_enabled(False)

                                                      y = x**2 + 2 * x + 3

累计梯度:默认情况下,当我们重复对一个自变量进行梯度计算时,梯度是累加的,所以需要梯度清零

梯度清零:x.grad.zero_()

损失函数组件:

1.均方误差损失(MSE Loss) 函数: torch.nn.MSELoss

2.L1 损失(L1 Loss)也叫做MAE(Mean Absolute Error,平均绝对误差) 函数: torch.nn.L1Loss

3.交叉熵损失(Cross-Entropy Loss) 函数: torch.nn.CrossEntropyLoss(多用于多分类)

4.二元交叉熵损失(Binary Cross-Entropy Loss) 函数: torch.nn.BCELoss 或 torch.nn.BCEWithLogitsLoss (多用于二分类)

线性层组件:

torch.nn.Linear(in_features, out_features, bias=True)

优化器方法:

optim.SGD():优化器方法;是 PyTorch 提供的随机梯度下降(Stochastic Gradient Descent, SGD)优化器。

model.parameters():模型参数获取;是一个生成器,用于获取模型中所有可训练的参数(权重和 偏置)。

optimizer.zero_grad():梯度清零

optimizer.step():参数更新

构建数据类:

Dataset类

1. __init__ 方法 用于初始化数据集对象:通常在这里加载数据,或者定义如何从存储中获取数据的路径和方法。

2. __len__ 方法 返回样本数量:需要实现,以便 Dataloader加载器能够知道数据集的大小。

3. __getitem__ 方法 根据索引返回样本:将从数据集中提取一个样本,并可能对样本进行预处理或变换。

TensorDataset类:

源码:

def __init__(self, *tensors):        

# size(0)在python中同shape[0],获取的是样本数量        

# 用第一个张量中的样本数量和其他张量对比,如果全部相同则通过断言,否则抛异常        

assert all(tensors[0].size(0) == tensor.size(0) for tensor in tensors)        

self.tensors = tensors    

def __getitem__(self, index):        

return tuple(tensor[index] for tensor in self.tensors)    

def __len__(self):        

return self.tensors[0].size(0)

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值