torch.multinomial(input,num_samples,replacement=False, out=None)
input 是一個張量,每一行的元素為非負,且每一行的元素和為正,固定的每一行中的列元素的相對大小決定了在抽取時被取到的概率大小。num_samples 表示對每一行的抽取的次數,
如果replacement 為 true,則允許在每一行重復抽取,這種情況下,那一行對應的列元素為零的概率為零時, 就不能被抽到了。
torch.normal(mean = tensor,std = tensor, out = None)
這里均值由原先的means關鍵詞改為mean,且均值,方差分別共享參數
並行化 parallelism
torch.get_num_threads
torch.get_num_threads() → int
獲得用於並行化CPU操作的OpenMP線程數
torch.set_num_threads
torch.set_num_threads(int)
設定用於並行化CPU操作的OpenMP線程數
torch.addcdiv(tensor, value=1, tensor1, tensor2, out=None) → Tensor
用tensor2
對tensor1
逐元素相除,然后乘以標量值value
並加到tensor
torch.atan & torch.atan2
一般情況下用atan即可,當對所求出角度的取值范圍有特殊要求時,應使用atan2
torch.div(input, other, out=None)
兩張量input
和other
逐元素相除,並將結果返回到輸出.
torch.fmod(input, divisor, out=None) → Tensor
計算除法余數。 除數與被除數可能同時含有整數和浮點數。此時,余數的正負與被除數相同。
torch.lerp
torch.lerp(input, end, weight, out=None)
對兩個張量以input,end
做線性插值, 將結果返回到輸出張量。
即,
參數:
- input (Tensor) – 起始點張量
- end (Tensor) – 終止點張量
- weight (float) – 插值公式的weight,必須是float,不能為張量
- out (Tensor, optional) – 結果張量
torch.log1p
torch.log1p(input, out=None) → Tensor
計算
input+1 的自然對數torch.mul
torch.mul(input, value, out=None)
用標量值value
乘以輸入input
的每個元素,並返回一個新的結果張量。
torch.mul(input, other, out=None)
兩個張量input
,other
按元素進行相乘,並返回到輸出張量
torch.pow(input, exponent, out=None)
對輸入input
的按元素求exponent
次冪值,並返回結果張量。 冪值exponent
可以為單一 float
數或者與input
相同元素數的張量。
當冪值為標量時,執行操作:out_i=x_i*exponent
當冪值為張量時,執行操作:out_i=x_i*exponent_i
torch.reciprocal
torch.reciprocal(input, out=None) → Tensor
返回一個新張量,包含輸入input
張量每個元素的倒數,即 1.0/x。
參數:
- input (Tensor) – 輸入張量
- out (Tensor, optional)
torch.round
torch.round(input, out=None) → Tensor
返回一個新張量,將輸入input
張量每個元素舍入到最近的整數。
torch.rsqrt
torch.rsqrt(input, out=None) → Tensor
返回一個新張量,包含輸入input
張量每個元素的平方根倒數。
torch.trunc
torch.trunc(input, out=None) → Tensor
返回一個新張量,包含輸入input
張量每個元素的截斷值(標量x的截斷值是最接近其的整數,其比x更接近零。簡而言之,有符號數的小數部分被舍棄)。
torch.cumprod
torch.cumprod(input, dim, out=None) → Tensor
返回輸入沿指定維度的累積積。例如,如果輸入是一個N 元向量,則結果也是一個N 元向量,
torch.cumsum
torch.cumsum(input, dim, out=None) → Tensor
返回輸入沿指定維度的累積和。例如,如果輸入是一個N元向量,則結果也是一個N元向量
torch.dist
torch.dist(input, other, p=2, out=None) → Tensor
返回 (input
- other
) 的 p
范數
torch.mean(input, dim, out=None) → Tensor
返回輸入張量給定維度dim
上每行的均值。
輸出形狀與輸入相同,除了給定維度上為1
torch.median
torch.median(input, dim=-1, values=None, indices=None) -> (Tensor, LongTensor)
返回輸入張量給定維度每行的中位數,同時返回一個包含中位數的索引的LongTensor
。
dim
值默認為輸入張量的最后一維。 輸出形狀與輸入相同,除了給定維度上為1.
注意: 這個函數還沒有在torch.cuda.Tensor
中定義
torch.mode
torch.mode(input, dim=-1, values=None, indices=None) -> (Tensor, LongTensor)
返回給定維dim
上,每行的眾數值。 同時返回一個LongTensor
,包含眾數職的索引。dim
值默認為輸入張量的最后一維。
輸出形狀與輸入相同,除了給定維度上為1.
注意: 這個函數還沒有在torch.cuda.Tensor
中定義
torch.std(input) → float
返回輸入張量input
所有元素的標准差
torch.topk
torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)
沿給定dim
維度返回輸入張量input
中 k
個最大值。 如果不指定dim
,則默認為input
的最后一維。 如果為largest
為 False
,則返回最小的 k
個值。
返回一個元組 (values,indices),其中indices
是原始輸入張量input
中測元素下標。 如果設定布爾值sorted
為_True_,將會確保返回的 k
個值被排序。
torch.cross
torch.cross(input, other, dim=-1, out=None) → Tensor
返回沿着維度dim
上,兩個張量input
和other
的向量積(叉積)。 input
和other
必須有相同的形狀,且指定的dim
維上size必須為3
。
如果不指定dim
,則默認為第一個尺度為3
的維。
torch.diag
torch.diag(input, diagonal=0, out=None) → Tensor
- 如果輸入是一個向量(1D 張量),則返回一個以
input
為對角線元素的2D方陣 - 如果輸入是一個矩陣(2D 張量),則返回一個包含
input
對角線元素的1D張量
參數diagonal
指定對角線:
diagonal
= 0, 主對角線diagonal
> 0, 主對角線之上diagonal
< 0, 主對角線之下-
torch.histc
torch.histc(input, bins=100, min=0, max=0, out=None) → Tensor
計算輸入張量的直方圖。以
min
和max
為range邊界,將其均分成bins
個直條,然后將排序好的數據划分到各個直條(bins)中。如果min
和max
都為0, 則利用數據中的最大最小值作為邊界。參數:
- input (Tensor) – 輸入張量
- bins (int) – 直方圖 bins(直條)的個數(默認100個)
- min (int) – range的下邊界(包含)
- max (int) – range的上邊界(包含)
- out (Tensor, optional) – 結果張量
-
torch.renorm
torch.renorm(input, p, dim, maxnorm, out=None) → Tensor
返回一個張量,包含規范化后的各個子張量,使得沿着
dim
維划分的各子張量的p范數小於maxnorm
。注意 如果p范數的值小於
maxnorm
,則當前子張量不需要修改。
-
torch.orgqr
torch.orgqr()
torch.ormqr
torch.ormqr()
torch.potrf
torch.potrf()
torch.potri
torch.potri()
torch.potrs
torch.potrs()
torch.pstrf
torch.pstrf()
torch.qr
torch.qr(input, out=None) -> (Tensor, Tensor)
計算輸入矩陣的QR分解:返回兩個矩陣
本函數返回一個thin(reduced)QR分解。
注意 如果輸入很大,可能可能會丟失精度。
注意 本函數依賴於你的LAPACK實現,雖然總能返回一個合法的分解,但不同平台可能得到不同的結果。
Irrespective of the original strides, the returned matrix q will be transposed, i.e. with strides (1, m) instead of (m, 1).
參數:
- input (Tensor) – 輸入的2維張量
- out (tuple, optional) – 輸出元組
tuple
,包含Q和R -
torch.gesv
torch.gesv(B, A, out=None) -> (Tensor, Tensor)
LU 包含兩個矩陣L,U。A須為非奇異方陣,如果A是一個
參數:
- B (Tensor) –
- A (Tensor) –
- out (Tensor, optional) – 可選地輸出矩陣