簡體   English   中英

Pytorch:如何將圖像塊轉換為特征向量矩陣?

[英]Pytorch: How to transform image patches into matrix of feature vectors?

為了在 neural.network 中用作輸入,我想從圖像塊中獲取特征向量矩陣。 我正在使用 Fashion-MNIST 數據集(28x28 圖像)並使用 Tensor.unfold 通過以下方式獲取補丁(16 7x7 補丁):

#example on one image
mnist_train = torchvision.datasets.FashionMNIST(
        root="../data", train=True, transform=transforms.Compose([transforms.ToTensor()]), download=True)
x = mnist_train[0][0][-1, :, :]
x = x.unfold(0, 7, 7).unfold(1, 7, 7)
x.shape
>>> torch.Size([4, 4, 7, 7])

在這里,我最終得到一個 4x4 張量的 7x7 補丁,但是我想對每個補丁進行矢量化以獲得具有維度的矩陣X (16:補丁數 xd:特征向量的維度)。 我不確定是否可以在這里使用 flatten() 以及我將如何使用它 go 。

要關閉它,請將評論的內容移至此處:

#example on one image
mnist_train = torchvision.datasets.FashionMNIST(
    root="../data", train=True, 
transform=transforms.Compose([transforms.ToTensor()]), download=True)
x = mnist_train[0][0][-1, :, :]
x = x.unfold(0, 7, 7).unfold(1, 7, 7)
x.shape

Output:

>>> torch.Size([4, 4, 7, 7])

然后:

x.reshape(-1,7,7)
x.shape

Output:

torch.Size([16,7,7])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM