
PyTorch
文章平均质量分 79
赛先生.AI
科技公司CTO。机器学习,深度学习,计算机视觉从业者。网络,流媒体技术,编解码技术爱好者。
曾从事汽车行业,安防行业,现从事无人机行业。
-> tecsai@163.com
展开
-
PyTorch学习(14):张量(Tensor)填充(Padding)(torch.nn.functional.pad)
我们在做卷积的时候,不可避免的会遇到对Tensor进行填充的情况。以卷积操作为例,在操作中,padding指的是在输入特征图的边缘填充额外的值(通常为0),以增加输入特征图的大小,从而影响卷积层的输出尺寸。通过调整padding的大小,可以精确控制输出特征图的维度,一方面保持边缘信息,另一方面也能够使其满足网络设计的需求。原创 2024-08-07 11:06:31 · 1390 阅读 · 0 评论 -
PyTorch学习(13):PyTorch的张量相乘(torch.matmul)
torch.matmul()是PyTorch库中用于执行矩阵乘法的函数。它可以处理不同尺寸的矩阵,包括批量矩阵和张量。该函数的特点在于能够利用Python的广播机制,处理维度不同的张量结构进行相乘操作。 torch.matmul也可以使用“@”符号来替代。原创 2024-06-06 15:32:44 · 1487 阅读 · 0 评论 -
PyTorch学习(12):PyTorch取极值(max, argmax, min, argmin)
PyTorch提供了大量的API接口,帮助我们快速的搭建训练工程,开发新的算法。求极值或者获得极值所处的位置是算法种常见的操作,比如网络的后解算过程中,我们常通过求极值来获得某一个预测点的类别信息。PyTorch提供了max,argmax,min,argmin这四个接口帮助我们快速的获得极值信息。原创 2024-06-03 09:53:52 · 1194 阅读 · 1 评论 -
PyTorch学习(11):PyTorch的形状变换(view, reshape)与维度变换(transpose, permute)
在深度学习框架PyTorch中,view, reshape, permute, 和 transpose 是用于操作张量的重要函数。它们允许我们对张量的形状和维度进行变换,这在神经网络的设计和实现中是非常常见的。下面,我们将逐一介绍这些函数的功能和用法。原创 2024-06-02 10:44:28 · 1202 阅读 · 0 评论 -
PyTorch学习(10):torch.where
在PyTorch中,torch.where 函数是一种强大的工具,用于根据条件从两个张量中选择元素。这个函数在数据处理和神经网络的正则化技术中特别有用,比如实现dropout或者masking策略。torch.where 的基本用法类似于Python的内建函数 np.where,但它专门针对PyTorch张量进行了优化。原创 2024-06-02 10:39:13 · 691 阅读 · 0 评论 -
PyTorch学习(9):torch.topk
PyTorch的topk函数用于返回Tensor中的前k个元素及其对应的索引。这个函数非常有用,尤其是在处理分类问题时,可以用来找出每个样本最可能属于的k个类别。 在实际的部署过程中,topk非常重要,可以实现快速的筛选和过滤。原创 2024-05-31 09:39:14 · 2075 阅读 · 0 评论 -
PyTorch学习(8):PyTorch中Tensor的合并于拆分(torch.cat, torch.stack, torch.trunk, torch.split)
在使用PyTorch执行深度学习开发时,经常会用到对Tensor的合并于拆分操作。如我们在使用CSP时,有时候会需要将Tensor拆分成两部分,其中一部分进行进行Cross Stage操作,另一部分执行多重卷积操作,这个时候我们就会用到四个典型的接口,分别是torch.cat, torch.stack, torch.trunk, torch.split。接下来将逐一进行讲解。原创 2024-05-30 17:09:45 · 688 阅读 · 0 评论 -
PyTorch学习(7):常用损失函数(CrossEntropyLoss, BCELoss, BCEWithLogitsLoss, L1Loss, MSELoss)
在深度学习训练过程中,损失计算是非常重要的一环。有一种论调叫做“损失函数的设计在一定程度上决定了模型能干什么”。 PyTorch提供了许多损失计算函数,包括torch.nn.L1Loss,torch.MSELoss,torch.nn.CrossEntropyLoss,torch.nn.BCELoss,torch.nn.BCEWithLogitsLoss等。 具体可以参考如下连接:torch.nn — PyTorch 2.2 documentation原创 2024-04-19 15:34:46 · 2878 阅读 · 0 评论 -
PyTorch学习(6):导出ONNX模型
在使用PyTorch进行模型训练时,我们通常希望将训练好的模型导出为ONNX(Open Neural Network Exchange)格式的文件。 ONNX(Open Neural Network Exchange)是一个开放格式,用于表示深度学习模型。它允许模型被不同的深度学习框架所使用,实现了模型的互操作性和可移植性。ONNX由Facebook和微软在2016年共同推出,旨在解决深度学习模型在不同框架和工具之间的兼容性问题。原创 2024-04-07 16:55:31 · 1380 阅读 · 0 评论 -
PyTorch学习(5):并行训练模型权重的本地化与加载
在训练深度神经网络时,我们一般会采用CPU或GPU来完成。得益于开源传统,许多算法都提供了完整的开源代码工程,便于学习和使用。随着GPU的普及,GPGPU已经占据了大部分的训练场景。 我们在这里仅以GPU训练场景做一些说明。 当我们使用单GPU训练时,我们称之为非并行训练。使用多个GPU共同训练时,我们称之为并行训练。原创 2024-04-02 16:23:58 · 719 阅读 · 0 评论 -
PyTorch学习(4):混合精度训练(torch.cuda.amp)
混合精度训练(Mixed Precision Training)是一种深度学习训练技术,它使用不同精度的数据类型(如单精度FP32和半精度FP16)来执行训练过程中的不同部分,以达到加速训练、减少内存使用和降低计算开销的目的。这种训练方式可以在保持模型精度的同时,显著提高训练效率。原创 2024-03-31 18:54:00 · 2375 阅读 · 0 评论 -
PyTorch学习(3):并行训练DataParallel与DistributedDataParallel
在使用pytorch训练网络时,一般都会使用多GPU进行并行训练,以提高训练速度,一般有单机单卡,单机多卡,多机多卡等训练方式。这就会使用到pytorch提供的DataParallel(DP)和DistributedDataParallel(DDP)这两个函数来实现。原创 2024-03-29 15:10:34 · 1993 阅读 · 0 评论 -
PyTorch学习(2):torch.device
torch.device 是 PyTorch 中的一个类,它指定了张量(Tensor)和模型应该运行在哪个设备上。在深度学习中,通常会使用 GPU 来加速计算,而 torch.device 允许你轻松地在 CPU 和 GPU 之间切换。原创 2024-03-28 07:42:00 · 2513 阅读 · 0 评论 -
PyTorch学习(1):torch.meshgrid的使用
torch.meshgrid生成网格,可以用于生成坐标。函数输入两个数据类型相同的一维张量,两个输出张量的行数为第一个输入张量的元素个数,列数为第二个输入张量的元素个数,当两个输入张量数据类型不同或维度不是一维时会报错。原创 2024-03-22 09:28:28 · 1709 阅读 · 0 评论