人工智能學習Pytorch教程Tensor基本操作示例詳解
一、tensor的創(chuàng)建
1.使用tensor
小寫字母的tensor接收具體的數(shù)據(jù),可以直接按照numpy的方式輸入數(shù)組。

2.使用Tensor
大寫字母的可以接收形狀,此時會生成隨機數(shù),但沒有任何規(guī)則??梢陨刹煌念愋?。

自動生成的數(shù)據(jù)有默認類型,F(xiàn)loatTensor,可以使用torch.set_default_tensor_type去修改
3.隨機初始化
rand:0-1之間均勻采樣
randn:均值0,方差1的正態(tài)分布隨機采樣
以上兩種可以直接輸入形狀,即可產生對應形狀的隨機數(shù)。
randint:參數(shù)是---起始值、終止值、形狀
同時每一個都會有一個_like方法,輸入一個tensor,會生成對應形狀的新tensor

4.其他數(shù)據(jù)生成
①torch.full
參數(shù)是---形狀,數(shù)據(jù)。如果形狀的位置給一個空的list,生成的就是標量。

②torch.arange
參數(shù)是---起始,終止,步長。不包含終止值。

③linspace和logspace
參數(shù)是---起始,終止,數(shù)量。包含終止值

④ones, zeros, eye
輸入形狀即可。ones和zeros也有_like方法

⑤torch.randperm
隨機打散。輸入一個數(shù)字,會自動生成這個數(shù)字長度的,從0開始的隨機排列數(shù)字,可以作為索引。當需要對不同的數(shù)據(jù),使用相同的索引,并且打亂順序時,非常好用。

二、tensor的索引與切片
1.索引與切片使用方法
和python中的索引切片使用方法一致


①index_select
輸入的參數(shù)---維度的位置、要選的內容對應的維度的索引。不太好理解,可以看下面的例子。

②...
三個點相當于集成了的連續(xù)的冒號。

③mask
需要先根據(jù)數(shù)據(jù)生成一個mask,比如挑選出大于等于0.3的數(shù),此時會得到一個和數(shù)據(jù)相同形狀的,滿足條件位置是1,不滿足條件的位置是0的一個mask,通過masked_select可以選出數(shù)據(jù)。

三、tensor維度的變換
1.維度變換
①torch.view
和numpy中的reshape方法一樣。轉換的時候需要考慮到實際的物理意義。

②squeeze/unsqueeze
squeeze輸入的參數(shù)---需要減少的維度所在位置
unsqueeze輸入的參數(shù)---需要增加的維度所在的位置

③expand,repeat
expand輸入的參數(shù)---希望擴展后所形成的維度
repeat輸入的參數(shù)---各自維度需要重復的次數(shù)
通常使用expand,因為不會主動復制數(shù)據(jù)。

④t,transpose,permute
t:和numpy中的轉置一樣,只針對二維矩陣操作
transpose:輸入需要交換的維度的位置即可。但想要還原的時候,需記得轉換后的各個位置的物理意義,根據(jù)實際意義進行再次轉換。見下面的例子。
permute:輸入希望轉換成的維度的位置索引即可。相當于多次使用transpose

以上就是人工智能學習Pytorch教程Tensor基本操作示例詳解的詳細內容,更多關于Pytorch的tensor基本操作的資料請關注腳本之家其它相關文章!
相關文章
Python cookbook(數(shù)據(jù)結構與算法)從任意長度的可迭代對象中分解元素操作示例
這篇文章主要介紹了Python 數(shù)據(jù)結構與算法 從任意長度的可迭代象中分解元素操作,結合實例形式分析了Python使用*表達式針對可迭代對象的分解操作相關實現(xiàn)技巧,需要的朋友可以參考下2018-02-02
關于adfuller函數(shù)返回值的參數(shù)說明與記錄
這篇文章主要介紹了關于adfuller函數(shù)返回值的參數(shù)說明與記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
TensorFlow安裝并在Pycharm搭建環(huán)境的詳細圖文教程
今天動手開始搭建TensorFlow開發(fā)環(huán)境,所以下面這篇文章主要給大家介紹了關于TensorFlow安裝并在Pycharm搭建環(huán)境的詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-11-11
vscode搭建python Django網(wǎng)站開發(fā)環(huán)境的示例
本文主要介紹了vscode搭建python Django網(wǎng)站開發(fā)環(huán)境的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

