Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
数据处理与加载

数据处理与加载

按照批次加载数据 Dataset torch.utils.data.Dataset是一个抽象类,表示数据集。用户需要自定义类来继承这个抽象类,并实现两个核心方法:__len__()和__getitem__() __len__():返回数据集的总大小 __getitem__(index):根据索引返回一个数据点 123456789101112from torch.utils.data impor
2025-03-06
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
图像增广

图像增广

为什么要使用图像增广 防止过拟合:深度学习模型,尤其是复杂的模型,容易在训练数据上过拟合,即模型记住了训练数据中的特定细节而不是学习到通用的特征。图像增广通过引入变化的训练样本(相当于给训练样本添加噪声)帮助模型学习更鲁棒的特征,从而减少过拟合。 增加数据多样性:在实际应用中,输入到模型的图像可能会有各种不同的变化,如不同的拍摄角度、光照条件、尺度等。图像增广可以模拟这些变化,使模型能够更好地泛
2025-03-05
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #计算机视觉 #PyTorch
参数管理

参数管理

状态字典 state_dict()方法用于返回模型所有参数和缓冲区的字典 state_dict 是一个字典,包含了模型的所有可学习参数(如权重和偏置)以及持久性缓冲区(如批量归一化的运行均值和方差)。这个字典的键通常是参数的名称。 比如: 1234567891011121314151617181920import torchimport torch.nnclass MLP(nn.Module):
2025-03-04
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
在GPU上训练模型

在GPU上训练模型

检查GPU的可用性 确保GPU可用并且正确安装了CUDA和Pytorch的CUDA版本 12import torchprint(torch.cuda.is_available()) # 应该返回True如果GPU可用 查询可用GPU数量 123import torchprint(torch.cuda.device_count()) 设置设备 通过torch.device()方式指定是使用CPU还是
2025-03-03
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
优化器

优化器

常见的优化器 SGD 随机梯度下降,基本的优化算法,它通过计算每个参数的梯度来更新参数。 我们可以使用SGD实现对所有样本的梯度下降、小批量梯度下降或者单样本的随机梯度下降。 1torch.optim.SGD(params, lr, momentum=0, dampening=0, weight_decay=0, nesterov=False) params:要优化的参数的迭代器或列表 lr:学
2025-03-02
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
损失函数

损失函数

均方误差损失 均方误差损失,MSELoss,用于回归任务,计算预测值和真实值之间的均方误差 1torch.nn.MSELoss(reduction='mean') reduction:指定如何对输出进行降维,可选值为none、mean和sum none:不进行降维,返回每个样本的损失 mean:返回损失的均值,这是默认行为 sum:返回损失的总和 对创建的MSELoss
2025-03-01
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
常用方法

常用方法

torch.nn.Flatten nn.Flatten用于将输入数据展平。在深度学习中,尤其是在处理图像数据时,我们经常需要将多维的图像数据展平为一维向量,以便将其输入到全连接层(也称为线性层)中进行进一步的处理。 1nn.Faltten(start_dim=1, end_dim=-1) start_dim:开始展平的维度。默认为1,意味着从第二个维度开始展平(在PyTorch中,第一个维度通常
2025-02-28
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
权重、偏置初始化的实现

权重、偏置初始化的实现

torch.nn.init torch.nn.init是Pytorch提供的一个模块,用于初始化神经网络模型的权重和偏置。 常数初始化 1nn.init.constant_(tensor, val) 将tensor中的所有值初始化为常数val 正态分布初始化 1nn.init.normal_(tensor, mean=0.0, std=1.0) 使用均值为mean,标准差为std的正态分布来
2025-02-27
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
张量

张量

什么是张量 在pytorch中,张量(tensor)是基于向量和矩阵的扩展,其可以扩展成任意维度。(注意,这里的张量与数学、物理上的张量不同) 张量 张量本质上就是多维数组,因此,张量的维度代表了我们从张量中指定一个元素所需要的索引个数。0维张量就是标量,不需要索引;一维张量就是向量,只需要一个索引就能找到对应元素;二维张量就是矩阵,我们需要同时指定行与列,才能确定到对应的元素,\(\cdo
2025-02-26
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
神经网络的创建

神经网络的创建

torch.nn模块 torch.nn是pytorch中自带的一个函数库,nn的全程为neural network,译为神经网络,torch.nn就是pytorch中用于构建神经网络的模块。 习惯上,我们使用以下方式引入torch.nn: 1from torch import nn 或者 1import torch.nn as nn nn.Parameter torch.nn.Parameter是
2025-02-26
深度学习 > PyTorch
#人工智能 #神经网络 #深度学习 #PyTorch
1…4567

搜索

What doesn't kill you makes you stronger.