您好,登錄后才能下訂單哦!
本篇文章和大家了解一下Pytorch隨機數生成常用方法有哪些。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
torch.rand
是用于生成均勻隨機分布張量的函數,從區間[0,1)
的均勻分布中隨機抽取一個隨機數生成一個張量,其調用方法如下所示:
torch.rand(sizes, out=None) ?? Tensor
其中,
sizes
:用于定義輸出張量的形狀
簡單的示例代碼如下所示:
import torch # 生成一個每個元素服從0-1均勻分布的4行3列隨機張量 tensor_1 = torch.rand(4, 3) print(tensor_1, tensor_1.type())
輸出結果如下圖所示:
torch.randn()
是用于生成正態隨機分布張量的函數,從標準正態分布中隨機抽取一個隨機數生成一個張量,其調用方法如下所示:
torch.randn(sizes, out=None) ?? Tensor
其中,
sizes
:用于定義輸出張量的形狀
簡單的示例代碼如下所示:
import torch # 生成一個每個元素均為標準正態分布的4行3列隨機張量 tensor_2 = torch.randn(4, 3) print(tensor_2, tensor_1.type())
輸出結果如下圖所示:
torch.randint()
是用于生成任意區間分布張量的函數,從標準正態分布中隨機抽取一個隨機數生成一個張量,其調用方法如下所示:
torch.randint(low=0, high, sizes, out=None) ?? Tensor
其中,
low
~high
:隨機數的區間范圍
sizes
:用于定義輸出張量的形狀
簡單的示例代碼如下所示:
# 生成一個每個元素均為[1-10]均勻分布的4行3列隨機張量 tensor_3 = torch.randint(1, 10, (4, 3)) print(tensor_3, tensor_3.type())
輸出結果如下圖所示:
torch.randint()
是用于對張量序號進行隨機排序的函數,并根據生成的隨機序列,其調用格式如下所示:
torch.randperm(n, out=None, dtype=torch.int64) ?? LongTensor
其中,
n
:一個整數,可以理解為張量某個方向的維度
dtype
:返回的數據類型(torch.int64
)
簡單的示例代碼如下所示:
下面代碼實現的功能為:將二維張量按照行進行隨機排序。
# 生成一個0~3的隨機整數排序 idx = torch.randperm(4) # 生成一個4行3列的張量 tensor_4 = torch.Tensor(4, 3) # 為了方便對比,首先輸出tensor_4的結果 print("原始張量\n", tensor_4) # 下面輸出隨機生成的行序號 print("\n生成的隨機序號\n", idx) # 下面的指令實現了在行的方向上,對tensor_4進行隨機排序,并輸出結果 print("\n隨機排序后的張量\n", tensor_4[idx])
輸出結果如下圖所示:
以上就是Pytorch隨機數生成常用方法有哪些的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。