tensor.view(*shape) 函式
最近使用PyTorch編寫程式,經常會遇到tensor_data.contiguous().view(-1)
,以此記錄下其用法。
view()函式用法示例及其引數詳解
首先,view( ) 是對 PyTorch 中的 Tensor 操作的,若非 Tensor 型別,可使用 data = torch.tensor(data)
來進行轉換。
(1) 作用:該函式返回一個有__相同資料__但不同大小的 Tensor。通俗一點,就是__改變矩陣維度__,相當於 Numpy 中的 resize() 或者 Tensorflow 中的 reshape() 。
(2) 引數:view( *shape )
x = torch.randn(4, 4)
print(x.size())
y = x.view(16)
print(y.size())
z = x.view(-1, 8) # -1表示該維度取決於其它維度大小,即(4*4)/ 8
print(z.size())
m = x.view(2, 2, 4) # 也可以變為更多維度
print(m.size())
其輸出結果依次為:
torch.Size([4, 4])
torch.Size([16])
torch.Size([2, 8])
torch.Size([2, 2, 4])
(3) view( -1 )
若我們需要轉換維度為一維,有一種簡單的方式,即引數為 -1 。我們具體舉個例子:
a = torch.Tensor([[1, 2, 3], [4, 5, 6]]) # 定義一個 2*3 的 Tensor
a = a.view(-1)
print(a)
結果如下:
tensor([1., 2., 3., 4., 5., 6.])
從結果可以看出,其一行一行拼接在一起。
data.contiguous().view(-1)
在實際操作中,我們常會看到這個用法,contiguous()
就是為了保證一個Tensor是連續的,這樣才能被 view() 處理。
view_as
(other) → Tensor
返回被視作與給定的tensor相同大小的原tensor。 等效於:self
.view(tensor.size())
a = t.arange(0, 6)
...: a.view(2, 3)
Out[32]:
tensor([[0, 1, 2],
[3, 4, 5]])
b.view_as(a)
Out[35]: tensor([1., 2., 3., 4., 5., 6.])
a
Out[36]: tensor([0, 1, 2, 3, 4, 5])
詳細解釋可以閱讀知乎這篇: https://zhuanlan.zhihu.com/p/64551412
相關文章
- 淺談Numpy中的shape、reshape函式的區別函式
- tf.shape()和tensor.get_shape()
- Shape of HDU
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- shape基本使用
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- WPF 2D圖形 Shape入門(一)--Shape
- 第7章 IF函式 COUNTIF函式 SUMIF函式函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- (譯) 函式式 JS #2: 函式!函式JS
- 【Android】一行程式碼設定Shape Selector樣式Android行程
- 核函式 多項式核函式 高斯核函式(常用)函式
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- main函式的入口函式AI函式
- SQL-函式 - 聚合函式SQL函式
- 【每日函式】每日函式(2021.08.16)函式
- 【每日函式】每日函式(2021.08.10)函式
- 【每日函式】每日函式(2021.08.05)函式
- 【每日函式】每日函式(2021.08.06)函式
- 【每日函式】每日函式(2021.08.14)函式
- 【每日函式】每日函式(2021.08.08)函式
- 【每日函式】每日函式(2021.08.09)函式
- 【知識點】inline函式、回撥函式、普通函式inline函式
- Python函式與lambda 表示式(匿名函式)Python函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- webgl內建函式--向量函式與紋理查詢函式Web函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- webgl內建函式--通用函式Web函式
- Kotlin之“with”函式和“apply”函式Kotlin函式APP
- Kotlin 函式6 - 高階函式Kotlin函式
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串