tensor操作中的api和numpy非常相似
x = torch.ones(2,
2)print
(x)x.
type()
# 將其轉換為整型
x = x.
long()
print
(x)# 再將其轉回float
x = x.
float()
print
(x)x = torch.randn(4,
3)print
(x)# 沿著行取最大值
max_value, max_idx = torch.
max(x, dim=1)
# 沿著行對x求和
sum_x = torch.
sum(x, dim=1)
print
(sum_x)
print
(x.shape)
x = x.unsqueeze(0)
print
(x.shape)
> torch.size([4
,3])
> torch.size([1
,4,3
])x = x.unsqueeze(1)
# 在第二維增加
print
(x.shape)
> torch.size([1
,1,4
,3])
x = x.squeeze(0)
# 減少第一維
print
(x.shape)
> torch.size([1
,4,3
])x = x.squeeze(
)print
(x.shape)
> torch.size([4
,3])
x = torch.randn(3,
4,5)
print
(x.shape)
> torch.size([3
,4,5
])# 使用permute和transpose進行維度交換
x = x.permute(1,
0,2)
print
(x.shape)
>torch.size([4
,3,5
])# transpose交換tensor中的兩個維度
x = x.transpose(0,
2)print
(x.shape)
> torch.size([5
,3,4
])
x = torch.randn(3,
4,5)
x = x.view(-1
,5)# -1 表示任意的大小,5表示第二維變成5
print
(x.shape)
# 重新reshape成(3, 2, 10)的大小
x = x.view(3,
2,10)
print
(x.shape)
x = torch.randn(3,
4)y = torch.randn(3,
4)# 兩個tensor求和
z = x + y
# z = torch.add(x,y)
pytorch中大多數的操作都支援inplace操作,也就是可以直接對tensor進行操作而不需要另外開闢記憶體空間,方式非常簡單,一般都是在操作的符號後面加_,比如
x = torch.ones(3,
3)print
(x.shape)
# unsqueeze 進行inplace
x.unsqueeze_(0)
print
(x.shape)
# transpose 進行inplace
x.transpose_(1,
0)print
(x.shape)
x = torch.ones(3,
3)y = torch.ones(3,
3)print
(x)x.add_(y)
print
(x)
Pytorch學習 1 pytorch簡介
pytorch簡介 1 pytorch簡介 1.1 pytorch的大概 pytorch不是簡單的封裝 lua torch 提供python介面,而是對當下tensor之上的模組進行重構,並增加了最先進的自動求導系統,成為當下最流行的動態圖框架。pytorch是乙個基於torch的python開源機...
pytorch基礎學習 1
剛剛接觸了tensorflow,現在對pytorch也有很大的興趣,說到底,這些機器學習庫都是工具,技多不壓身,2016年到現在也不到三年的庫,發展這麼快必然有它的道理,廢話不多,開始學習吧。包torch包含了多維張量的資料結構以及基於其上的多種數學操作。另外,它也提供了多種工具,其中一些可以有效的...
pytorch基礎學習1
1.從numpy匯入 import torch import numpy as np a np.array 2,2.3 b torch.from numpy a print a print b a np.ones 2,3 b torch.from numpy a print a print b 結果...