91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

view和view_as怎么在Pytorch中使用

發布時間:2021-03-22 16:58:07 來源:億速云 閱讀:237 作者:Leah 欄目:開發技術

view和view_as怎么在Pytorch中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

view()函數是在torch.Tensor.view()下的一個函數,可以有tensor調用,也可以有variable調用。

其作用在于返回和原tensor數據個數相同,但size不同的tensor

【Numpy中的size是元素個數,但是在Pytorch中size等價為Numpy中的shape】

view函數的-1參數的作用在于基于另一參數,自動計算該維度的大小

很重要的一點

view函數只能由于contiguous的張量上,具體而言,就是在內存中連續存儲的張量。

具體而言,可以參看 https://www.jb51.net/article/177564.htm

所以,當tensor之前調用了transpose, permute函數就會是tensor內存中變得不再連續,就不能調用view函數。

所以,應該提前做tensor.contiguous()的操作

view函數與Pytorch0.4中新增的reshape的區別

reshape函數調用是不依賴于tensor在內存中是不是連續的。

reshape ≈ tensor.contiguous().view

代碼

import numpy as np
import torch
from torch.autograd import Variable
 
x = torch.Tensor(2,2,2)
print(x)
 
y = x.view(1,8)
print(y)
 
z = x.view(-1,4) # the size -1 is inferred from other dimensions
print(z)
 
t = x.view(8)
print(t)

輸出

tensor([[[1.3712e-14, 6.4069e+02],
   [4.3066e+21, 1.1824e+22]],

  [[4.3066e+21, 6.3828e+28],
   [3.8016e-39, 0.0000e+00]]])

#x.view(1,8)生成的是[1,8]的張量
tensor([[1.3712e-14, 6.4069e+02, 4.3066e+21, 1.1824e+22, 4.3066e+21, 6.3828e+28,
   3.8016e-39, 0.0000e+00]])

#x.view(-1,4)其中-1是在4下的另一個維度的大小,也就是8/4=2,所以生成的是[2,4]的張量
tensor([[1.3712e-14, 6.4069e+02, 4.3066e+21, 1.1824e+22],
  [4.3066e+21, 6.3828e+28, 3.8016e-39, 0.0000e+00]])

x.view(8)生成的是[8,]的張量,是個數組
tensor([1.3712e-14, 6.4069e+02, 4.3066e+21, 1.1824e+22, 4.3066e+21, 6.3828e+28,
  3.8016e-39, 0.0000e+00])

view_as

返回被視作與給定的tensor相同大小的原tensor。 等效于:

self.view(tensor.size())

具體用法為:

代碼

a = torch.Tensor(2, 4)
b = a.view_as(torch.Tensor(4, 2))
print (b)

輸出

tensor([[1.3712e-14, 6.4069e+02],
  [4.3066e+21, 1.1824e+22],
  [4.3066e+21, 6.3828e+28],
  [3.8016e-39, 0.0000e+00]])

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

休宁县| 固安县| 永新县| 安国市| 富宁县| 宕昌县| 台南县| 皮山县| 芷江| 从江县| 丽水市| 阳朔县| 嘉定区| 皮山县| 永安市| 哈密市| 射阳县| 剑阁县| 隆德县| 满洲里市| 苍梧县| 疏附县| 托克逊县| 枣庄市| 团风县| 顺平县| 柳林县| 内黄县| 大渡口区| 德阳市| 泸定县| 昭通市| 呈贡县| 句容市| 滨州市| 新干县| 定州市| 得荣县| 广灵县| 蓝田县| 怀宁县|