版权声明:本文为博主原创文章遵循
版权协议,转载请附上原文出处链接和本声明
这个函数主要对数据的维度进行壓缩去掉维数为1的的维度。比如:是一行或者一列这种一个一行三列(1,3)的数去掉第一个维数为一的维度之后就变成(3)行。b=torch.squeeze(aN) 就是將a中所有为1的维度删掉,不为1的维度没有影响
在tensor的某个维度上添加一个维数为1的维度,这个功能用view()
函数也可以实现比如:原本有个三荇的数据(3),在0的位置加了一维就变成一行三列(1,3)a.unsqueeze(N) 就是在a中指定位置N加上一个维数为1的维度。还有一种形式就是b=torch.unsqueeze(aN)
a就是在a中指定位置N加上一个维数为1的维度。这一功能尤其在神经网络输入单个样本时很有用由于pytorch神经网络要求的输入都是mini-batch型的,维度为[batch_size, channels, w, h]
而一个样本的維度为[c, w, h],此时用unsqueeze()增加一个维度变为[1, c, w, h]就很方便了
备注: 以0为分界,正向取值和反向取值的效果相同其原理类似DataFrame中的正向、反向切片操作。正向取值时0表示行,1表示列;反向取值时-1表示列,-2表示行
dim)中的参数dim含义相同,均代表在input
的第dim
个位置维度处进行维度1的压缩或扩充
返回一个1维张量,包含在区间start和end上均匀间隔的step个点输出张量的长度由steps决定。
返回一个张量Tensor包含了从 标准正态分布(均值为0,方差为1 ——即:高斯白噪声) 中抽取的一组随机数张量的形状由参数sizes定义。
只需要调用torch.manual_seed(seed)
它将随机数生成器的种子设置为固定值,这样当调用时torch.rand(2),结果将可重现
如果输入x输出是y,则求y关于x的導数(梯度):
dydx就是(一阶导数)得到结果还需要乘以weight:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。