Super Kai (Kazuya Ito)
Posted on July 10, 2024
*My post explains logspace().
arange() can create the 1D tensor of zero or integers or floating-point numbers between start
and end-1
(start
<=x<=end-1
)as shown below:
*Memos:
-
arange()
can be used with torch but not with a tensor. - The 1st argument with
torch
isstart
(Optional-Default:0
-Type:int
,float
,complex
orbool
): *Memos- It must be lower than or equal to
end
. - The 0D tensor of
int
,float
,complex
orbool
also works.
- It must be lower than or equal to
- The 2nd argument with
torch
isend
(Required-Type:int
,float
,complex
orbool
): *Memos:- It must be greater than or equal to
start
. - The 0D tensor of
int
,float
,complex
orbool
also works.
- It must be greater than or equal to
- The 3rd argument with
torch
isstep
(Optional-Default:1
-Type:int
,float
,complex
orbool
): *Memos:- It must be greater than 0.
- The 0D tensor of
int
,float
,complex
orbool
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(). -
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.
-
- There is range() which is similar to
arange()
butrange()
is deprecated.
import torch
torch.arange(end=5)
# tensor([0, 1, 2, 3, 4])
torch.arange(start=5, end=15)
# tensor([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
torch.arange(start=5, end=15, step=3)
# tensor([5, 8, 11, 14])
torch.arange(start=-5, end=5)
# tensor([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4])
torch.arange(start=-5, end=5, step=3)
torch.arange(start=torch.tensor(-5),
end=torch.tensor(5),
step=torch.tensor(3))
# tensor([-5, -2, 1, 4])
torch.arange(start=-5., end=5., step=3.)
torch.arange(start=torch.tensor(-5.),
end=torch.tensor(5.),
step=torch.tensor(3.))
# tensor([-5., -2., 1., 4.])
torch.arange(start=-5.+0.j, end=5.+0.j, step=3.+0.j)
torch.arange(start=torch.tensor(-5.+0.j),
end=torch.tensor(5.+0.j),
step=torch.tensor(3.+0.j))
# tensor([-5., -2., 1., 4.])
torch.arange(start=False, end=True, step=True)
torch.arange(start=torch.tensor(False),
end=torch.tensor(True),
step=torch.tensor(True))
# tensor([0])
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 withtorch
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])
💖 💪 🙅 🚩
Super Kai (Kazuya Ito)
Posted on July 10, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.