乙個元素張量可以用item()得到元素值,請注意這裡的print(x)和print(x.item())值是不一樣的,乙個是列印張量,乙個是列印元素:
x = torch.randn(2,
2)print
(x[1,1
])print
(x[1,1
].item(
))
#結果
tensor(0.4279)
0.4278833866119385
hr = np.random.uniform(0,
2,(10
,10,3
)) 從乙個均勻分布([low, high):半開區間)中進行取樣
# hr = np.random.randn(10,
10,3) 返回乙個樣本,具有標準正太分布
# hr = np.random.rand(10,
10,3) 返回乙個或一組服從「0
~1」均勻分布的隨機樣本值。隨機樣本取值範圍是[0,
1),不包括1。
獲取物件object的屬性或者方法
class
test
: name=
'alex'
defrun
(self)
:pass
t=test(
)print
(getattr
(t,'name'))
#alex
print
(getattr
(t,'run'))
#>
print
(getattr
(t,'age',12
))#12
img = np.random.randn(
100,
100,3)
print
(img.shape)
# 這裡shape不帶括號
print
(img.shape[2]
)print
(img.size)
# 30000
print
(np.size(img,2)
)# 3
print
(img.size[0]
)# typeerror: 'int' object is not subscriptable
#因為size = 30000是乙個整數型別,故不能使用下標來表示;若是list,tuple等型別,則可用下標
#還有一種會出現的情況,一維的陣列卻使用了二維形式的下標;如a=[1],則a[0][0]則報錯
#torch的size用法與numpy不太相同
img1 = torch.randn(3,
100,
100)
print
(img1.shape)
# torch.size([3, 100, 100]) shape不帶括號
print
(img1.shape[2]
)# 100 用法與numpy相同
print
(img1.size())
# torch.size([3, 100, 100]) 此處與numpy不同
print
(img1.size(1)
)# 列印img1第1維的長度
# 此處size和shape的用法相同
torch.reshape(),這個與numpy.reshape 的功能類似.reshape()可以替代view。它大致相當於tensor.contiguous().view()。一般來說可以用reshape替代 .contiguous().view()了
contiguous:view只能用在contiguous的variable上。如果在view之前用了transpose, permute等,需要用contiguous()來返回乙個contiguous copy。
一種可能的解釋是:
有些tensor並不是占用一整塊記憶體,而是由不同的資料塊組成,而tensor的view()操作依賴於記憶體是整塊的,
這時只需要執行contiguous()這個函式,把tensor變成在記憶體中連續分布的形式
a = torch.tensor([1
,2,3
,4,5
,6])
b =a.view(2,
3)# 按照行優先的順序排成乙個一維的資料
c = a.reshape(2,
3)print
(b)print
(c)print
(b.contiguous(
).permute(1,
0))# 維度轉換(轉置),行變成列,列變成行
print
(a.view(3,
2))
零碎知識點
1.反斜槓也可拼接字串 window.nl ad function window.nl ad function 2.在console.log 中新增樣式 var a hello console.log c a,font size 400 background blue color white 3 通...
零碎知識點
比較數值時,不要integer,要int 1,elasticsearch查詢時不識別大寫,應全部轉為小寫.因此建立索引時盡量使用小寫 2.var param param.yanan1 yanan2 此處的用法 param 宣告了json格式的param,param.yanan1 yanan2定義了j...
python零碎知識點 2019 08 16
近來在復現meta sr,寫這系列總結相當於備忘錄,記錄每天遇到的一些python語法知識點,為方便日後不斷複習 小白在成長 a如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。w開啟乙個檔案只用於寫入。如果該檔案已存在則...