*Memos:
- You can use manual_seed() with randn() and randn_like(). *My post explains
manual_seed()
. - My post explains rand() and rand_like().
- My post explains randint() and randperm().
- My post explains normal().
randn() can create the 0D or more D tensor of the zero or more random floating-point numbers(Default) or complex numbers most of the time about between 2
and -2
from standard normal distribution as shown below:
*Memos:
-
randn()
can be used with torch but not with a tensor. - The 1st or more arguments with
torch
aresize
(Required-Type:int
,tuple
ofint
,list
ofint
or size()). - There is
dtype
argument withtorch
(Optional-Default:None
-Type:dtype): *Memos:- If it's
None
, get_default_dtype() is used. *My post explainsget_default_dtype()
and set_default_dtype(). -
dtype=
must be used. - My post explains
dtype
argument.
- If it's
- There is
device
argument withtorch
(Optional-Default:None
-Type:str
,int
or device()): *Memos:- If it's
None
, get_default_device() is used. *My post explainsget_default_device()
and set_default_device(). -
device=
must be used. - My post explains
device
argument.
- If it's
- There is
requires_grad
argument withtorch
(Optional-Default:False
-Type:bool
): *Memos:-
requires_grad=
must be used. - My post explains
requires_grad
argument.
-
- There is
out
argument withtorch
(Optional-Default:None
-Type:tensor
): *Memos:-
out=
must be used. - My post explains
out
argument.
-
import torch torch.randn(size=()) torch.randn(size=torch.tensor(8).size()) # tensor(0.3306) torch.randn(size=(0,)) torch.randn(0) torch.randn(size=torch.tensor([]).size()) # tensor([]) torch.randn(size=(3,)) torch.randn(3) torch.randn(size=torch.tensor([8, 3, 6]).size()) # tensor([-0.6635, 1.6257, -2.0568]) torch.randn(size=(3, 2)) torch.randn(3, 2) torch.randn(size=torch.tensor([[8, 3], [6, 0], [2, 9]]).size()) # tensor([[-1.9382, 1.1300], [0.4138, 0.8232], [-0.9810, -0.1410]]) torch.randn(size=(3, 2, 4)) torch.randn(3, 2, 4) # tensor([[[-0.1585, 0.6327, -0.2487, -0.0963], # [-0.2869, 2.4429, 0.5098, -1.1569]], # [[ 0.2823, 1.0742, 1.0531, -0.2384], # [-0.2275, -2.6246, 0.3347, -1.6514]], # [[ 0.2934, -1.2568, 0.1798, 1.1989], # [ 0.5166, -1.2155, 0.5101, -0.7396]]]) torch.randn(size=(3, 2, 4), dtype=torch.complex64) torch.randn(3, 2, 4, dtype=torch.complex64) # tensor([[[0.5911+0.4230j, -0.1695-0.5487j, # -0.5253-1.3477j, 0.2331+1.9928j], # [1.1815+0.8113j, 0.1307+2.0229j, # 0.5588+0.6502j, 0.8352-1.1519j]], # [[1.5789+0.5048j, -1.2516-1.0842j, # 0.6233+0.7139j, 0.0393-0.4259j], # [0.1236+0.9666j, 0.2755+0.1572j, # -0.5766-0.0394j, -0.3715-0.2530j]], # [[0.6339-1.1397j, -0.1932-0.8051j, # 1.3219-0.4141j, 0.0786+0.1172j], # [-0.9245+0.9382j, -1.0984+0.4884j, # -0.3895-0.0102j, -0.0171+0.9639j]]])
randn_like() can replace the zero or more floating-point numbers or complex numbers of a 0D or more D tensor with the zero or more random floating-point numbers or complex numbers most of the time about between 2
and -2
from standard normal distribution as shown below:
*Memos:
-
randn_like()
can be used withtorch
but not with a tensor. - The 1st argument with
torch
isinput
(Required-Type:tensor
offloat
orcomplex
). - There is
dtype
argument withtorch
(Optional-Default:None
-Type:dtype): *Memos:- If it's
None
, it's inferred frominput
. -
dtype=
must be used. - My post explains
dtype
argument.
- If it's
- There is
device
argument withtorch
(Optional-Default:None
-Type:str
,int
or device()): *Memos:- If it's
None
, it's inferred frominput
. -
device=
must be used. - My post explains
device
argument.
- If it's
- There is
requires_grad
argument withtorch
(Optional-Default:False
-Type:bool
): *Memos:-
requires_grad=
must be used. - My post explains
requires_grad
argument.
-
import torch my_tensor = torch.tensor(7.) torch.randn_like(input=my_tensor) # tensor(-2.3177) my_tensor = torch.tensor([7., 4., 5.]) torch.randn_like(input=my_tensor) # tensor([-0.4706, -0.0940, 1.7397]) my_tensor = torch.tensor([[7., 4., 5.], [2., 8., 3.]]) torch.randn_like(input=my_tensor) # tensor([[-0.4152, 0.8599, -2.4599], # [-1.1088, -0.4828, 2.3003]]) my_tensor = torch.tensor([[[7., 4., 5.], [2., 8., 3.]], [[6., 0., 1.], [5., 9., 4.]]]) torch.randn_like(input=my_tensor) # tensor([[[-1.0316, 1.5852, -1.1012], [-2.3114, 0.5584, 2.3333]], # [[-0.5730, -0.3688, 0.0671], [1.2493, -0.0072, 0.1905]]]) my_tensor = torch.tensor([[[7.+4.j, 4.+2.j, 5.+3.j], [2.+5.j, 8.+1.j, 3.+9.j]], [[6.+9.j, 0.+3.j, 1.+8.j], [5.+3.j, 9.+4.j, 4.+6.j]]]) torch.randn_like(input=my_tensor) # tensor([[[-0.3193-0.2821j, -0.8942+0.7886j, 0.2968-0.0608j], # [-0.5996+0.8685j, 0.7314-0.5378j, 1.7339-0.8352j]], # [[-0.0787-0.1357j, -1.4519-0.0295j, 0.1233-0.1794j], # [ 0.4109-0.2422j, 0.3973+0.3363j, -1.0303-1.4719j]]])
Top comments (0)