在PyTorch中”unsqueeze”的作用是什么?

PyTorch文档中提到:

返回一个新的张量,在指定位置插入大小为1的维度。[…]

>>> x = torch.tensor([1, 2, 3, 4])>>> torch.unsqueeze(x, 0)tensor([[ 1,  2,  3,  4]])>>> torch.unsqueeze(x, 1)tensor([[ 1],        [ 2],        [ 3],        [ 4]])

回答:

如果你观察数组在操作前后的形状,会发现操作前是(4,),操作后当第二个参数为0时变为(1, 4),当第二个参数为1时变为(4, 1)。因此,根据第二个参数的值,在数组形状的轴01处插入了一个1

这与np.squeeze()(名称借鉴自MATLAB)正好相反,后者会移除大小为1的轴(单例轴)。

Related Posts

如何从数据集中移除EXIF数据?

我在尝试从数据集中的图像中移除EXIF数据(这些数据将…

用于Python中的“智能点”游戏的遗传算法不工作

过去几天我一直在尝试实现所谓的“智能点”游戏。我第一次…

哪个R平方得分更有帮助?

data.drop(‘Movie Title’, ax…

使用线性回归预测GRE分数对录取率的影响

我正在学习线性回归,并尝试在Jupyter笔记本中用P…

使用mlrMBO贝叶斯优化进行SVM超参数调优时出现错误

我试图针对一个分类任务优化SVM,这个方法在许多其他模…

Keras模型的二元交叉熵准确率未发生变化

我在网上看到了很多关于这个问题的提问,但没有找到明确的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注