代码解读:y.view(y.size(0), -1)---tensor张量第一维保持不变,其余维度展平

y.view(y.size(0), -1)代码解读:

用于改变PyTorch张量(tensor)y的形状的。
y.size(0)返回y的第一维的大小。
-1表示让PyTorch自动计算该维度的大小,以确保新的张量与原始张量有相同的元素数量。
功能:将y的第一维保持不变,然后将其余的维度展平。

#!/usr/bin/env python3
import torch

x = torch.randn((3, 1, 2))
print(x)
print(x.size(0))
print(x.view(x.size(0), -1))

y = torch.randn((3, 2, 2))
print(y)
print(y.size(0))
print(y.view(y.size(0), -1))

z = torch.randn((2,3))
print(z)
print(z.size(0))
print(z.view(z.size(0), -1))
# x输出
tensor([[[ 1.3927,  0.8704]],

        [[-2.2128,  0.1680]],

        [[ 1.3459,  1.6155]]])
3
tensor([[ 1.3927,  0.8704],
        [-2.2128,  0.1680],
        [ 1.3459,  1.6155]])
# y输出
tensor([[[-1.0421,  0.2478],
         [-1.5509,  1.5805]],

        [[ 0.6882,  0.4131],
         [-0.0034,  0.1004]],

        [[ 0.2090, -0.7472],
         [ 1.2551,  0.4388]]])
3
tensor([[-1.0421,  0.2478, -1.5509,  1.5805],
        [ 0.6882,  0.4131, -0.0034,  0.1004],
        [ 0.2090, -0.7472,  1.2551,  0.4388]])
# z输出
tensor([[-0.1616, -0.6525, -1.9303],
        [-1.4292, -2.0358,  0.2268]])
2
tensor([[-0.1616, -0.6525, -1.9303],
        [-1.4292, -2.0358,  0.2268]])

你可能感兴趣的:(深度学习,pytorch,深度学习,人工智能)