Pytorch隨機數(shù)生成常用的4種方法匯總
一、torch.rand():構(gòu)造均勻分布張量的方法
torch.rand是用于生成均勻隨機分布張量的函數(shù),從區(qū)間[0,1)的均勻分布中隨機抽取一個隨機數(shù)生成一個張量,其調(diào)用方法如下所示:
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())
輸出結(jié)果如下圖所示:

二、torch.randn():構(gòu)造標準正態(tài)分布張量的方法
torch.randn()是用于生成正態(tài)隨機分布張量的函數(shù),從標準正態(tài)分布中隨機抽取一個隨機數(shù)生成一個張量,其調(diào)用方法如下所示:
torch.randn(sizes, out=None) ?? Tensor
其中,
sizes:用于定義輸出張量的形狀
簡單的示例代碼如下所示:
import torch # 生成一個每個元素均為標準正態(tài)分布的4行3列隨機張量 tensor_2 = torch.randn(4, 3) print(tensor_2, tensor_1.type())
輸出結(jié)果如下圖所示:

三、torch.randint():構(gòu)造區(qū)間分布張量的方法
torch.randint()是用于生成任意區(qū)間分布張量的函數(shù),從標準正態(tài)分布中隨機抽取一個隨機數(shù)生成一個張量,其調(diào)用方法如下所示:
torch.randint(low=0, high, sizes, out=None) ?? Tensor
其中,
low~high:隨機數(shù)的區(qū)間范圍
sizes:用于定義輸出張量的形狀
簡單的示例代碼如下所示:
# 生成一個每個元素均為[1-10]均勻分布的4行3列隨機張量 tensor_3 = torch.randint(1, 10, (4, 3)) print(tensor_3, tensor_3.type())
輸出結(jié)果如下圖所示:

四、torch.randperm():根據(jù)生成的隨機序號對張量進行隨機排序的方法
torch.randint()是用于對張量序號進行隨機排序的函數(shù),并根據(jù)生成的隨機序列,其調(diào)用格式如下所示:
torch.randperm(n, out=None, dtype=torch.int64) ?? LongTensor
其中,
n:一個整數(shù),可以理解為張量某個方向的維度
dtype:返回的數(shù)據(jù)類型(torch.int64)
簡單的示例代碼如下所示:
下面代碼實現(xiàn)的功能為:將二維張量按照行進行隨機排序。
# 生成一個0~3的隨機整數(shù)排序
idx = torch.randperm(4)
# 生成一個4行3列的張量
tensor_4 = torch.Tensor(4, 3)
# 為了方便對比,首先輸出tensor_4的結(jié)果
print("原始張量\n", tensor_4)
# 下面輸出隨機生成的行序號
print("\n生成的隨機序號\n", idx)
# 下面的指令實現(xiàn)了在行的方向上,對tensor_4進行隨機排序,并輸出結(jié)果
print("\n隨機排序后的張量\n", tensor_4[idx])
輸出結(jié)果如下圖所示:

總結(jié)
到此這篇關(guān)于Pytorch隨機數(shù)生成常用的4種方法匯總的文章就介紹到這了,更多相關(guān)Pytorch隨機數(shù)生成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python利用elaphe制作二維條形碼實現(xiàn)代碼
條形碼的應用將會越來越廣泛,看到了一篇文章,寫的挺好的!用手機拍二維碼,查二維碼確實很爽!這將成為一種潮流2012-05-05
詳解python中return和print的區(qū)別和用途
在 Python 中,return 和 print 是兩種常見的語句,用于在函數(shù)中輸出信息或返回值,盡管它們看起來相似,但它們有不同的作用和用法,本文將詳細介紹 return 和 print 在函數(shù)中的區(qū)別,并提供豐富的示例代碼,以幫助你更好地理解它們的用途2023-11-11
Python內(nèi)置函數(shù)all()的實現(xiàn)
Python內(nèi)置函數(shù)?all()?用于判斷可迭代對象中的所有元素是否都為真值(Truthy),是邏輯判斷的重要工具,下面就來具體介紹如何使用,感興趣的可以了解一下2025-04-04
Python實現(xiàn)將圖片轉(zhuǎn)換為ASCII字符畫
這篇文章主要介紹了Python實現(xiàn)將圖片轉(zhuǎn)換為ASCII字符畫,要將圖片轉(zhuǎn)換為字符圖其實很簡單,我們首先將圖片轉(zhuǎn)換為灰度圖像,這樣圖片的每個像素點的顏色值都是0到255,然后我們選用一些在文字矩形框內(nèi)占用面積從大到小的ASCII碼字符2022-08-08

