*Memos:
- My post explains arange().
- My post explains logspace().
linspace() can create the 1D tensor of the zero or more integers, floating-point numbers or complex numbers evenly spaced between start
and end
(start
<=x<=end
) as shown below:
*Memos:
-
linspace()
can be used with torch but not with a tensor. - The 1st argument with
torch
isstart
(Required-Type:int
,float
,complex
orbool
). *The 0D tensor ofint
,float
,complex
orbool
also works. - The 2nd argument with
torch
isend
(Required-Type:int
,float
,complex
orbool
). *The 0D tensor ofint
,float
,complex
orbool
also works. - The 3rd argument with
torch
issteps
(Required-Type:int
): *Memos:- It must be greater than or equal to 0.
- The 0D tensor of
int
also works.
- There is
dtype
argument withtorch
(Optional-Default:None
-Type:dtype): *Memos:- If it's
None
, it's inferred fromstart
,end
orstep
, then for floating-point numbers, get_default_dtype() is used. *My post explainsget_default_dtype()
and set_default_dtype(). - Setting
start
andend
of integer type is not enough to create the 1D tensor of integer type so integer type withdtype
must be set. -
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.linspace(start=10, end=20, steps=0)
torch.linspace(start=20, end=10, steps=0)
# tensor([])
torch.linspace(start=10., end=20., steps=1)
tensor([10.])
torch.linspace(start=20, end=10, steps=1)
# tensor([20.])
torch.linspace(start=10., end=20., steps=2)
# tensor([10., 20.])
torch.linspace(start=20, end=10, steps=2)
# tensor([20., 10.])
torch.linspace(start=10., end=20., steps=3)
# tensor([10., 15., 20.])
torch.linspace(start=20, end=10, steps=3)
# tensor([20., 15., 10.])
torch.linspace(start=10., end=20., steps=4)
# tensor([10.0000, 13.3333, 16.6667, 20.0000])
torch.linspace(start=20., end=10., steps=4)
# tensor([20.0000, 16.6667, 13.3333, 10.0000])
torch.linspace(start=10, end=20, steps=4, dtype=torch.int64)
torch.linspace(start=torch.tensor(10),
end=torch.tensor(20),
steps=torch.tensor(4),
dtype=torch.int64)
# tensor([10.0000, 13.3333, 16.6667, 20.0000])
torch.linspace(start=10.+6.j, end=20.+3.j, steps=4)
torch.linspace(start=torch.tensor(10.+6.j),
end=torch.tensor(20.+3.j),
steps=torch.tensor(4))
# tensor([10.0000+6.j, 13.3333+5.j, 16.6667+4.j, 20.0000+3.j])
torch.linspace(start=False, end=True, steps=4)
torch.linspace(start=torch.tensor(True),
end=torch.tensor(False),
steps=torch.tensor(4))
# tensor([0.0000, 0.3333, 0.6667, 1.0000])
torch.linspace(start=10, end=20, steps=4, dtype=torch.int64)
torch.linspace(start=torch.tensor(10),
end=torch.tensor(20),
steps=torch.tensor(4), dtype=torch.int64)
# tensor([10.0000, 13.3333, 16.6667, 20.0000])
Top comments (0)