PyTorch Torch.randn()返回由可變參數大小(定義輸出張量的形狀的整數序列)定義的張量,其中包含標準正態分布的隨機數。
用法:torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
參數:
- size:定義輸出張量大小的整數序列。可以是可變數量的參數,也可以是列表或元組之類的集合。
- out:(可選)輸出張量。
- dtype:(可選)輸出張量的數據類型。
- layout:(可選)返回的Tensor的所需布局。默認值為torch.strided。
- device:(可選)返回張量的所需設備。默認值:如果為None,則使用當前設備作為默認張量類型(請參閱torch.set_default_tensor_type())。對於CPU張量類型,設備將是CPU;對於CUDA張量類型,設備將是當前CUDA設備。
- requires_grad:(可選)如果設置為true,則autograd會記錄輸出張量上的操作。
Return:張量填充來自標準正態分布的值。
讓我們借助幾個示例來了解這個概念:
範例1:
Python
# import pytorch library
import torch
# create a tensor of size 2 x 4
input_var = torch.randn(2,4)
print (input_var)
輸出:
tensor([[-1.4313, -0.3831, -0.8356, -1.5555], [-1.2749, -1.1872, -0.4983, 0.1029]])
這將返回一個大小為2×4的張量,其中填充了標準正態分布的值,即均值為0而方差為1。
範例2:
Python3
# import Pytorch library
import torch
# create a 3-dimensionl tensor
# of 4 x 5
input_var = torch.randn(3, 4, 5,
requires_grad = True)
print(input_var)
輸出:
tensor([[[-0.1097, 1.6845, 0.9375, -1.0515, 0.5767],
[ 0.1924, -0.7736, -0.7102, -0.2654, 0.3118],
[-0.5314, 0.1924, -1.1629, 0.2360, 0.8605],
[-0.8036, -0.0695, -0.6062, 1.4872, 0.5455]],
[[ 1.5699, -0.7190, 1.0925, 0.8463, -0.1906],
[-0.0763, -0.6819, -1.0517, -0.5087, -1.4451],
[-2.0127, 1.0061, 0.5723, -0.1336, -0.3821],
[ 0.0868, 1.1556, 0.3842, -0.4168, -1.4604]],[[ 0.1368, -1.6240, -0.1875, -0.5964, 0.9352],
[ 0.4429, 0.2843, -1.2151, 1.3456, -0.4539],
[-0.4528, 1.9981, -1.2007, 0.0071, -0.0239],
[-0.1003, 0.7938, -0.0977, -1.4097, 0.1679]]], requires_grad=True)
返回一個張量為3×4×5的張量,其中填充有隨機數,並且在執行時還記錄了梯度值。
範例3:
Python3
# import Pytorch library
import torch
# error occur
input_var = torch.randn(3.0, 4.0, 5.0,
requires_grad = True)
print(input_var)
輸出:
TypeError Traceback (most recent call last)
in
1 # import Pytorch library
2 import torch
—-> 3 input = torch.randn(3.0, 4.0, 5.0,requires_grad=True)
4 print( input )TypeError:randn() received an invalid combination of arguments - got (float, float, float, requires_grad=bool), but expected one of:
* (tuple of ints size, *, tuple of names names, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
* (tuple of ints size, *, torch.Generator generator, tuple of names names, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
* (tuple of ints size, *, torch.Generator generator, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
* (tuple of ints size, *, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
size參數不能采用浮點數,因此會產生錯誤。
相關用法
- Python numpy.random.randn()用法及代碼示例
- Python numpy matrix randn()用法及代碼示例
- Python PyTorch sin()用法及代碼示例
- Python PyTorch sinh()用法及代碼示例
- Python PyTorch cosh()用法及代碼示例
- Python PyTorch tanh()用法及代碼示例
- Python PyTorch cos()用法及代碼示例
- Python PyTorch tan()用法及代碼示例
- Python PyTorch asin()用法及代碼示例
- Python PyTorch acos()用法及代碼示例
- Python PyTorch atan()用法及代碼示例
- Python PyTorch zeros()用法及代碼示例
- Python Pytorch ones()用法及代碼示例
- Python Pytorch arange()用法及代碼示例
- Python Pytorch linspace()用法及代碼示例
- Python Pytorch range()用法及代碼示例
- Python Pytorch logspace()用法及代碼示例
- Python Pytorch eye()用法及代碼示例
- Python Pytorch empty()用法及代碼示例
- Python Pytorch full()用法及代碼示例
注:本文由純淨天空篩選整理自danf7861大神的英文原創作品 Python – Pytorch randn() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。