欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch隨機數(shù)生成常用的4種方法匯總

 更新時間:2023年05月15日 11:39:03   作者:嵌入式技術(shù)  
隨機數(shù)廣泛應(yīng)用在科學(xué)研究,但是計算機無法產(chǎn)生真正的隨機數(shù),一般成為偽隨機數(shù),下面這篇文章主要給大家介紹了關(guān)于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)文章

最新評論