Pytorch系列
文章平均质量分 69
本专栏记录自己学习过程中遇到的关于Pytorch的知识
北方骑马的萝卜
一只:码农!
展开
-
Pytorch:torch.stack 和 torch.as_tensor
torch.stack 和 torch.as_tensor 是 PyTorch 中的两个函数,它们用于处理 tensor 的创建和操作,但它们各自的用途和功能是不同的。原创 2024-03-28 15:29:32 · 320 阅读 · 0 评论 -
Pytorch:torch.utils.data.DataLoader
torch.utils.data.DataLoader 是PyTorch提供的一个功能,用来包装数据集并提供批量获取数据(batch loading)、打乱数据顺序(shuffling)、多进程加载(multiprocessing loading)等功能。当进行深度学习训练时,有效地加载和管理数据集是非常重要的,DataLoader 类能够大大简化这一工作流程。原创 2024-03-28 15:21:08 · 389 阅读 · 0 评论 -
Pytorch:torchvision.transforms.Compose
transforms.Compose 是PyTorch库中torchvision.transforms模块提供的一个功能,它允许将多个图像变换操作组合起来。当你在处理图像,并需要依次应用多个变换(如缩放、裁剪、归一化等)时,Compose可以把这些变换串联成一个单一的操作,这样你就可以非常方便地在数据集上应用这个组合操作。原创 2024-03-28 15:07:28 · 619 阅读 · 0 评论 -
Pytorch:torch.utils.tensorboard.SummaryWriter
SummaryWriter 通常是指在TensorBoard日志记录库中的一个类,这是TensorFlow的一个组件,可以用于记录和展示神经网络训练过程中的各种参数。PyTorch也提供了与TensorBoard兼容的工具torch.utils.tensorboard.SummaryWriter。原创 2024-03-28 14:55:02 · 755 阅读 · 1 评论 -
Batch Normalization(批量归一化)和 Layer Normalization(层归一化)
Batch Normalization(批量归一化)和 Layer Normalization(层归一化)都是深度学习中用于改善网络训练过程的归一化技术。尽管它们的目标相似,即通过规范化中间层的激活值来加速训练过程并提高性能,但它们在细节上有所不同。原创 2024-03-21 11:15:36 · 850 阅读 · 0 评论 -
Pytorch: torch.mean()
在PyTorch中,函数 torch.mean 用于计算张量的平均值(均值)。其可以对整个张量计算平均值,也可以沿某个或多个维度计算平均值。这个操作对于正则化数据、在神经网络中进行层间规范化等场合特别有用。原创 2024-03-21 10:50:23 · 985 阅读 · 0 评论 -
Pytorch:torch.nn.functional.pad()
torch.nn.functional.pad 是PyTorch函数,用于在张量的各个轴上添加填充。这个函数是 torch.nn.functional 模块下的一个实用函数,它可以自由地添加不同数量的填充到输入张量的任意边界。原创 2024-03-20 13:55:02 · 426 阅读 · 0 评论 -
Pytorch:nn.Upsample() 和nn.ConvTranspose2d()
nn.Upsample 是一个在PyTorch中进行上采样(增加数据维度)的层,其通过指定的方法(如nearest邻近插值或linear、bilinear、trilinear线性插值等)来增大tensor的尺寸。这个层可以在二维或三维数据上按照给定的尺寸或者放大比例来调整输入数据的维度。原创 2024-03-20 11:42:00 · 980 阅读 · 2 评论 -
Pytorch:torch.utils.checkpoint()
在PyTorch中,torch.utils.checkpoint 模块提供了实现梯度检查点(也称为checkpointing)的功能。这个技术主要用于训练时内存优化,它允许我们以计算时间为代价,减少训练深度网络时的内存占用。原创 2024-03-20 10:29:29 · 762 阅读 · 0 评论 -
Pytorch:torch.cuda.empty_cache()
torch.cuda.empty_cache() 是PyTorch中用来释放未被分配的缓存的内存的函数。在使用GPU进行计算时,CUDA会在内部维护一个内存缓存池,以便更快地分配和释放。但有时候,这些缓存的内存在不再需要的时候,它们不会被自动返回到操作系统。原创 2024-03-20 10:07:30 · 751 阅读 · 0 评论 -
Pytorch:模型的加载和保存 torch.save,torch.load,torch.nn.Module.state_dict 和 torch.nn.Module.load_state_dict
在PyTorch中,模型的保存和加载是通过几个关键的函数来完成的,它们分别是 torch.save,torch.load,torch.nn.Module.state_dict 和 torch.nn.Module.load_state_dict。原创 2024-03-20 10:02:40 · 1021 阅读 · 0 评论 -
Pytorch:torch.repeat_interleave()用法详解
torch.repeat_interleave() 是 PyTorch 中的一个函数,用于按指定的方式重复张量中的元素。原创 2024-01-15 11:39:44 · 723 阅读 · 0 评论 -
Pytorch:torch.nn.Module
torch.nn.Module` 是 PyTorch 中神经网络模型的基类,它提供了模型定义、参数管理和其他相关功能原创 2024-01-08 21:59:55 · 725 阅读 · 0 评论 -
Pytorch:torch.nn.Module.apply用法详解
`torch.nn.Module.apply` 是 PyTorch 中用于递归地应用函数到模型的所有子模块的方法。它允许对模型中的每个子模块进行操作,比如初始化权重、改变参数类型等原创 2024-01-08 21:46:30 · 621 阅读 · 0 评论 -
Pytorch:torch.sum()函数用法
返回给定维度dim中输入张量的每一行的总和。如果dim是一个维度列表,则对列表里所有维度进行缩小。原创 2023-12-22 11:26:52 · 805 阅读 · 0 评论 -
Pytorch:torch.nn.utils.clip_grad_norm_梯度截断_解读
神经网络深度逐渐增加,网络参数量增多的时候,容易引起梯度消失和梯度爆炸。对于梯度爆炸问题,解决方法之一便是进行梯度剪裁torch.nn.utils.clip_grad_norm_(),**即设置一个梯度大小的上限**。原创 2023-12-21 17:09:57 · 576 阅读 · 0 评论 -
Pytorch:optimizer.zero_grad(), loss.backward(), optimizer.step()
在训练过程中先调用 `optimizer.zero_grad()` 清空梯度再调用 `loss.backward()` 反向传播最后调用`optimizer.step()`更新模型参数:原创 2023-12-21 16:15:29 · 568 阅读 · 0 评论 -
Pytorch:nn.Linear() 基本定义和用法
nn.Linear的基本定义 nn.Linear定义一个神经网络的线性层,原创 2023-12-21 15:35:09 · 523 阅读 · 0 评论 -
Pytorch:backward()函数详解
.backward() 是 PyTorch 中用于自动求导的函数,它的主要作用是计算损失函数对模型参数的梯度,从而实现反向传播算法。原创 2023-12-20 15:18:06 · 2976 阅读 · 1 评论 -
pytorch:to()、device()、cuda()将Tensor或模型移动到指定的设备上
将Tensor或模型移动到指定的设备上:tensor.to('cuda:0')原创 2023-12-14 10:16:59 · 5295 阅读 · 0 评论 -
PyTorch : torch.cuda.amp: 自动混合精度详解
amp功能:可以在神经网络推理过程中,针对不同的层,采用不同的数据精度进行计算,从而实现节省显存和加快速度的目的。原创 2023-12-13 15:25:30 · 1798 阅读 · 0 评论 -
Pytorch:torch.optim模块
本篇笔记主要介绍torch.optim模块,记录学习过程在深度学习中,我们通常会使用优化算法来调整神经网络的权重和偏差,以便模型能够更好地拟合训练数据。torch.optim是PyTorch中的一个模块,它提供了各种优化算法的实现,用于自动化地优化神经网络的参数。换句话说,torch.optim可以帮助我们让模型更好地学习,从而提高性能。原创 2023-11-29 18:12:48 · 483 阅读 · 0 评论 -
Pytorch:torch.utils.data.DataLoader()
如果读者正在从事深度学习的项目,通常大部分时间都花在了处理数据上,而不是神经网络上。因为数据就像是网络的燃料:它越合适,结果就越快、越准确!神经网络表现不佳的主要原因之一可能是由于数据不佳或理解不足。因此,以更直观的方式理解、预处理数据并将其加载到网络中非常重要。原创 2023-11-29 10:00:18 · 252 阅读 · 0 评论 -
Pytorch:torch.utils.data.random_split()
torch.utils.data.random_split()原创 2023-11-28 17:12:30 · 766 阅读 · 0 评论 -
Pytorch:torch.Generator()
PyTorch 通过 torch.Generator 类来操作随机数的生成原创 2023-11-28 17:08:24 · 401 阅读 · 0 评论 -
Pytorch:view()、permute()和contiguous()
在pytorch中只有很少几个操作是**不改变tensor内容本身的**,大多数操作**不进行数据拷贝和数据的改变,变的是原数据**。例如:narrow()、view()、expand()和transpose()等。原创 2023-11-28 15:13:29 · 297 阅读 · 0 评论