一、torch.randn函數
torch.randn函數是PyTorch中常用的函數之一,用於生成正態分布隨機數的張量。函數的返回值是由輸入大小決定的張量,其中的元素服從均值為0,方差為1的正態分布。這個函數可以根據需要看作是從均值為0,方差為1的正態分布中隨機抽取一些值來填充張量的元素。
二、torch.randn是什麼意思
在PyTorch中,randn函數是生成正態分布隨機數的一個常用函數,也是很多使用PyTorch進行深度學習任務的程序員最為熟悉的函數之一。它可以用來生成之後需要用到的張量,是神經網路中的一個重要的元素。
三、torch.randn()參數
torch.randn()函數的參數有兩個,第一個是dsize或者size參數,表示返回的隨機數的張量的大小。第二個是dtype參數,表示返回的隨機數的張量中的元素的數據類型。
import torch # 生成一個大小為(3 * 4 * 5)的3D張量 x = torch.randn(3, 4, 5) print(x.size()) # 輸出 "torch.Size([3, 4, 5])"
四、torch.randn().cuda
如果在使用PyTorch進行深度學習的時候需要使用GPU加速,那麼可以使用cuda函數將生成的隨機數張量轉移到GPU上執行。
# 生成一個大小為(3 * 4 * 5)的3D張量並且將其轉移到GPU上執行 x = torch.randn(3, 4, 5).cuda() print(x)
五、torch.randn_like函數
torch.randn_like(x)是生成一個與張量x大小相同的張量,其元素服從均值為0,方差為1的正態分布隨機抽樣。
import torch # 生成兩個大小相同的張量y和z y = torch.randn(3, 4, 5) z = torch.randn_like(y) print("y: ", y) print("z: ", z)
六、torch.randn()三個參數
torch.randn()也可以有三個參數。第三個參數是一個包含了張量數據類型的元組,用來指定生成的隨機數的張量元素的數據類型。
import torch # 生成一個大小為(3 * 4 * 5)的3D張量,元素類型為int x = torch.randn(3, 4, 5, dtype=torch.int) print(x)
七、torch.randn和torch.rand區別
torch.randn和torch.rand兩個函數都可以生成隨機數。torch.rand生成的是0到1之間的均勻分布隨機數,而torch.randn生成的是均值為0,方差為1的正態分布隨機數。
八、torch.randn參數
torch.randn()函數的參數有兩個,第一個是dsize或者size參數,表示返回的隨機數的張量的大小。第二個是dtype參數,表示返回的隨機數的張量中的元素的數據類型。
import torch # 使用dsize參數生成一個大小為(3 * 4 * 5)的3D張量 x = torch.randn((3, 4, 5)) print(x.size()) # 輸出 "torch.Size([3, 4, 5])"
九、torch.randn函數實現過程
torch.randn()函數利用Python的random庫和numpy庫中的正態分布隨機數生成函數來生成滿足均值為0,方差為1的正態分布隨機數。隨機數的排列方式和輸出的張量的大小有關。
import numpy as np import random # 使用Python的random庫中的gauss函數和numpy庫中的reshape函數模擬生成一個(2 * 3)的張量 x = np.reshape([random.gauss(0, 1) for i in range(6)], [2, 3]) print(x)
十、torch.randn指定數據範圍
在使用torch.randn()生成正態分布隨機數時,可以利用張量的運算規則,對生成的隨機數進行變換,並且將輸出的隨機數限定在一個特定的範圍內。
import torch # 使用mask將大於0的隨機數置0 data = torch.randn(3, 4) mask = data > 0 output = torch.zeros_like(data) output[mask] = data[mask] print(output)
原創文章,作者:BHEG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148029.html