Pytorch knowledge

目录

torch.normal()函数

torch.matmul() 函数


torch.normal()函数

 torch.normal(mean, std, *, generator=None, out=None) → Tensor

torch.normal(mean, std, *, generator=None, out=None) → Tensor

返回从单独的正态分布中提取的随机数张量,这些正态分布的平均值和标准差是给定的。

mean 是一个张量,具有每个输出元素正态分布的均值

std 是一个张量,每个输出元素的正态分布的标准差

mean 和 std 的形状不需要匹配,但是每个张量中的元素总数需要相同。

当形状不匹配时,平均值的形状被用作返回输出张量的形状

当std是CUDA张量时,这个函数使它的设备与CPU同步。
 

参数

mean (Tensor) –每个元素平均值的张量

std (Tensor) –每个元素标准偏差的张量

关键字参数

generator (torch.Generator, optional) –用于采样的伪随机数生成器

out (Tensor, optional) –输出张量
 

torch.normal(mean, std, size, *, out=None) → Tensor

参数

mean (float)-所有分布的平均值

std(float)–所有分布的标准偏差

size (int...)–定义输出张量形状的整数序列。

关键字参数

out(张量,可选)–输出张量。

torch.matmul() 函数

torch.matmul(tensor1, tensor2, out=None) → Tensor

两张量的矩阵积。

行为取决于张量的维数,如下所示:

如果两个张量都是一维的,则返回点积(标量)。

如果两个参数都是二维的,则返回矩阵积。

如果第一个参数是一维的,第二个参数是二维的,那么为了矩阵相乘,在其维数前面加上1。在矩阵相乘之后,前面的维度被移除。

如果第一个参数是二维的,第二个参数是一维的,则返回矩阵向量积。

如果两个参数都至少是一维的,并且至少有一个参数是N维的(其中N>2),则返回一个成批矩阵乘法。如果第一个参数是一维的,则为了成批矩阵相乘的目的,在其维数前面加一个1,然后将其删除。如果第二个参数是一维的,则为了成批矩阵的倍数,在其维数后附加一个1,并在其后删除。非矩阵(即批处理)维度是广播的(因此必须是可广播的)。例如,如果tensor1是torch张量,tensor2是torch张量,out将是torch张量。

注意

此函数的一维点积版本不支持out参数。

参数:

tensor1(张量)–要相乘的第一个张量

tensor2(张量)–要相乘的第二个张量

out(张量,可选)–输出张量
————————————————
版权声明:本文为CSDN博主「日子就这么过来了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lry320/article/details/118435729

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: PyTorch RKD (Relational Knowledge Distillation)是一种知识蒸馏方法,用于将复杂模型的知识压缩到一个更小、更简单的模型中,以便在资源有限的嵌入式设备上部署深度学习模型。该方法主张,通过利用复杂模型内部特征之间的相关性,将模型知识转移给更小的模型。 PyTorch RKD方法使用了指定的复杂模型(通常是一个深度神经网络)中的特定层之间的相对余弦相似度来衡量模型之间的关系。这就意味着,如果两个模型之间的特定层之间的相对余弦相似度非常高,即这两个模型的特定层非常相关,则可以将这些相似性信息用于传输知识,从而实现模型知识的转移。 基于PyTorch RKD方法,可以使用较小的模型来实现复杂的任务,同时还可以减少计算和存储需求,这使得在资源受限的设备上实现深度学习模型成为可能。因此,PyTorch RKD方法是一种非常有价值和实用的技术,在深度学习应用中有着广泛的用途。 ### 回答2: RKD,全称为Relay Knowledge Distillation,是一种基于神经网络知识蒸馏(Knowledge Distillation)的训练方法。它的目标是将一个复杂的源模型的知识传递到一个轻量级的目标模型中,从而在保持较高的模型性能的同时,大幅度减小模型尺寸和计算复杂度。而PyTorch RKD则是一种实现了RKD框架的深度学习库。PyTorch RKD通过引入一些特殊的损失函数和蒸馏策略,将传递知识的过程实现为一个优化问题,并在PyTorch框架下提供了一套完整的深度学习工具,方便用户使用。相比于传统的蒸馏方法,PyTorch RKD能够更好地保持模型的精度和鲁棒性,同时提高蒸馏的效率和稳定性。因此,在一些计算资源有限的应用场景中,使用PyTorch RKD可以较为轻松地实现高效的模型压缩和加速,从而加快模型部署速度,减少资源占用。总之,PyTorch RKD是一种非常优秀的神经网络训练方法,它能够在保持模型性能的前提下,大幅度减小模型规模,并且在PyTorch框架下提供了良好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值