最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch查看通道數(shù) 維數(shù) 尺寸大小方式

 更新時間:2020年05月26日 17:29:22   作者:WJ_MeiMei  
這篇文章主要介紹了pytorch查看通道數(shù) 維數(shù) 尺寸大小方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

查看tensor

x.shape # 尺寸
x.size() # 形狀
x.ndim # 維數(shù)

例如

import torch
parser = argparse.ArgumentParser(description='PyTorch')
parser.add_argument('--img_w', default=144, type=int, metavar='imgw', help='img width')
parser.add_argument('--img_h', default=288, type=int, metavar='imgh', help='img height')
parser.add_argument('--batch-size', default=32, type=int,metavar='B', help='training batch size')
parser.add_argument('--test-batch', default=64, type=int, metavar='tb', help='testing batch size')
 
class net(nn.Module):
 def __init__(self, arch='resnet18'):
 super(net, self).__init__()
 model_ft = models.resnet50(pretrained=True)
 self.visible = model_ft
 
 def forward(self, x):
 print(x.shape)
 print(x.size())
 print(x.ndim)
 
 input = self.visible.conv1(x)
 
 print(input.shape)
 print(input.size())
 print(input.ndim)

從左至右起,32表示訓(xùn)練集batch_size大小,3是圖像通道數(shù),288是圖像高度,144是圖像寬度,圖像尺寸 288*144,維度個數(shù)是4。很多博客在介紹論文時候,沒有準(zhǔn)確表達(dá)這些參數(shù)名稱,往往出現(xiàn)張冠李戴,導(dǎo)致讀者后續(xù)使用過程中被老師ma

經(jīng)過標(biāo)準(zhǔn)resnet50第一層卷積后,結(jié)果是:32表示訓(xùn)練集batch_size大小,64是圖像通道數(shù),72是圖像高度,36是圖像寬度,圖像尺寸72*36,維數(shù)是4

補(bǔ)充知識:pytorch中與維度/變換相關(guān)的幾個函數(shù)

torch.size ()

先說torch.size()函數(shù),因為后面的方法都會用這個方法看到變換后的矩陣的維度

通過該方法,可以查看當(dāng)前Tensor的維度,用法也很簡單:

>>>import torch
>>>a = torch.Tensor([[[1, 2, 3], [4, 5, 6]]])
>>>a.size()
torch.Size([1, 2, 3])

torch.view()

官方文檔中的解釋:

簡單說,把原本的tensor尺寸,轉(zhuǎn)變?yōu)槟阆胍某叽?,例如原尺寸?3,現(xiàn)在可以轉(zhuǎn)為32或16等,但一定要保證等式成立,不能目標(biāo)尺寸為33

此外,也可以設(shè)其中一個尺寸為-1,表示機(jī)器內(nèi)部自己計算,但同時只能有一個為-1,用法如下:

>>> b=a.view(-1, 3, 2)
>>> b
tensor([[[1., 2.],
  [3., 4.],
  [5., 6.]]])
>>> b.size()
torch.Size([1, 3, 2])

torch.squeeze() / torch.unsqueeze()

torch.squeeze(n)函數(shù)表示壓縮tensor中第n維為1的維數(shù),比如下面第一個,b.squeeze(2).size(),原始的b為上面的torch.Size([1, 3, 2]),第二維是2≠1,所以不壓縮,尺寸保持不變;而若b.squeeze(0).size(),則發(fā)現(xiàn)第一維為1,因此壓縮為3x2的tensor

>>> b.squeeze(2).size()
torch.Size([1, 3, 2])
>>> b.squeeze(0).size()
torch.Size([3, 2])

相反的,torch.unsqueeze(n)則是在第n維增加一個維數(shù)=1,如下,表示在原始的b的第二維增加一維,則尺寸變?yōu)? * 3 * 1 * 2

>>> b.unsqueeze(2).size()
torch.Size([1, 3, 1, 2])
>>> b.unsqueeze(2)
tensor([[[[1., 2.]],

  [[3., 4.]],

  [[5., 6.]]]])

torch.permute()

這個函數(shù)表示,將原始的tensor,按照自己期望的位置重新排序,例如原始tensor的第0、1、2維分別是1、3、2,那么當(dāng)我執(zhí)行permute(2, 0, 1),則將第三維放在最前,第一維放在中間,第二維放在最后,也就變成了2 * 1 * 3,注意這里表示的維數(shù)的index,而不是具體幾維:

>>> b.permute(2, 0, 1).size()
torch.Size([2, 1, 3])
>>> b.permute(2, 0, 1)
tensor([[[1., 3., 5.]],

 [[2., 4., 6.]]])

暫時只想到這些,若有錯誤還請指正,或有其他相關(guān)函數(shù),我也將持續(xù)更新。

以上這篇pytorch查看通道數(shù) 維數(shù) 尺寸大小方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

郸城县| 酉阳| 额济纳旗| 安陆市| 陕西省| 达日县| 于都县| 酉阳| 定州市| 乌鲁木齐县| 淅川县| 镇雄县| 霍邱县| 工布江达县| 德州市| 花莲市| 吉隆县| 西平县| 静乐县| 新巴尔虎左旗| 淮北市| 灵宝市| 库伦旗| 会理县| 青州市| 大田县| 搜索| 梧州市| 专栏| 图们市| 德兴市| 武鸣县| 启东市| 阿鲁科尔沁旗| 福州市| 广灵县| 保德县| 敦煌市| 平山县| 黎平县| 永济市|