日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

pytorch中的?.view()函數的用法介紹_python

作者:DaYinYi ? 更新時間: 2022-05-19 編程語言

一、普通用法 (手動調整size)

view()相當于reshape、resize,重新調整Tensor的形狀。

import torch
a1 = torch.arange(0,16)
print(a1)
# tensor([ 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, 10, 11, 12, 13, 14, 15])
a2 = a1.view(8, 2)
a3 = a1.view(2, 8)
a4 = a1.view(4, 4)
print(a2)
#tensor([[ 0, ?1],
# ? ? ? ?[ 2, ?3],
# ? ? ? ?[ 4, ?5],
# ? ? ? ?[ 6, ?7],
# ? ? ? ?[ 8, ?9],
# ? ? ? ?[10, 11],
# ? ? ? ?[12, 13],
# ? ? ? ?[14, 15]])
print(a3)
#tensor([[ 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7],
# ? ? ? ?[ 8, ?9, 10, 11, 12, 13, 14, 15]])
print(a4)
#tensor([[ 0, ?1, ?2, ?3],
# ? ? ? ?[ 4, ?5, ?6, ?7],
# ? ? ? ?[ 8, ?9, 10, 11],
# ? ? ? ?[12, 13, 14, 15]])

二、特殊用法:參數-1 (自動調整size)

view中一個參數定為-1,代表自動調整這個維度上的元素個數,以保證元素的總數不變。

v1 = torch.arange(0,16)
print(v1)
# tensor([ 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, 10, 11, 12, 13, 14, 15])
v2 = v1.view(-1, 16)
v2
# tensor([[ 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, 10, 11, 12, 13, 14, 15]])
v2 = v1.view(-1, 8)
v2
# tensor([[ 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7],
# ? ? ? ? [ 8, ?9, 10, 11, 12, 13, 14, 15]])
v2 = v1.view(-1, 4)
v2
#tensor([[ 0, ?1, ?2, ?3],
# ? ? ? ?[ 4, ?5, ?6, ?7],
# ? ? ? ?[ 8, ?9, 10, 11],
# ? ? ? ?[12, 13, 14, 15]])
v2 = v1.view(-1, 2)
v2
#tensor([[ 0, ?1],
# ? ? ? ?[ 2, ?3],
# ? ? ? ?[ 4, ?5],
# ? ? ? ?[ 6, ?7],
# ? ? ? ?[ 8, ?9],
# ? ? ? ?[10, 11],
# ? ? ? ?[12, 13],
# ? ? ? ?[14, 15]])
v3 = v1.view(4*4, -1)
v3
# tensor([[ 0],
# ? ? ? ? [ 1],
# ? ? ? ? [ 2],
# ? ? ? ? [ 3],
# ? ? ? ? [ 4],
# ? ? ? ? [ 5],
# ? ? ? ? [ 6],
# ? ? ? ? [ 7],
# ? ? ? ? [ 8],
# ? ? ? ? [ 9],
# ? ? ? ? [10],
# ? ? ? ? [11],
# ? ? ? ? [12],
# ? ? ? ? [13],
# ? ? ? ? [14],
# ? ? ? ? [15]])

原文鏈接:https://blog.csdn.net/qq_36998053/article/details/123528858

欄目分類
最近更新