This content originally appeared on DEV Community and was authored by Super Kai (Kazuya Ito)
*My post explains arange() and linspace().
logspace() can create the 1D tensor of the zero or more integers, floating-point numbers or complex numbers evenly spaced between basestart
and baseend
(basestart
<=x<=baseend
) as shown below:
*Memos:
-
logspace()
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.
- The 4th argument with
torch
isbase
(Optional-Default:10.0
-Type:int
,float
orbool
). *The 0D tensor ofint
,float
,complex
orbool
also works. - There is
dtype
argument withtorch
(Optional-Type:dtype): *Memos:- If
dtype
is not given,dtype
is inferred fromstart
,end
orstep
ordtype
of set_default_dtype() is used for floating-point numbers. - 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
- There is
device
argument withtorch
(Optional-Type:str
,int
or device()): *Memos:-
device=
must be used. -
My post explains
device
argument.
-
- There is
requires_grad
argument withtorch
(Optional-Type:bool
): *Memos:-
requires_grad=
must be used. -
My post explains
requires_grad
argument.
-
- There is
out
argument withtorch
(Optional-Type:tensor
): *Memos:-
out=
must be used. -
My post explains
out
argument.
-
import torch
torch.logspace(start=10., end=20., steps=0)
torch.logspace(start=10., end=20., steps=0, base=10.)
torch.logspace(start=20., end=10., steps=0)
torch.logspace(start=20., end=10., steps=0, base=10.)
# tensor([])
torch.logspace(start=10., end=20., steps=1)
torch.logspace(start=10., end=20., steps=1, base=10.)
# tensor([1.0000e+10])
torch.logspace(start=20., end=10., steps=1)
torch.logspace(start=20., end=10., steps=1, base=10.)
# tensor([1.0000e+20])
torch.logspace(start=10., end=20., steps=2)
torch.logspace(start=10., end=20., steps=2, base=10.)
# tensor([1.0000e+10, 1.0000e+20])
torch.logspace(start=20., end=10., steps=2)
torch.logspace(start=20., end=10., steps=2, base=10.)
# tensor([1.0000e+20, 1.0000e+10])
torch.logspace(start=10., end=20., steps=3)
torch.logspace(start=10., end=20., steps=3, base=10.)
# tensor([1.0000e+10, 1.0000e+15, 1.0000e+20])
torch.logspace(start=20., end=10., steps=3)
torch.logspace(start=20., end=10., steps=3, base=10.)
# tensor([1.0000e+20, 1.0000e+15, 1.0000e+10])
torch.logspace(start=10., end=20., steps=4)
torch.logspace(start=10., end=20., steps=4, base=10.)
# tensor([1.0000e+10, 2.1544e+13, 4.6416e+16, 1.0000e+20])
torch.logspace(start=20., end=10., steps=4)
torch.logspace(start=20., end=10., steps=4, base=10.)
# tensor([1.0000e+20, 4.6416e+16, 2.1544e+13, 1.0000e+10])
torch.logspace(start=10., end=20., steps=4, base=100.)
# tensor([1.0000e+20, 4.6416e+26, 2.1544e+33, inf])
torch.logspace(start=20., end=10., steps=4, base=100.)
# tensor([inf, 2.1544e+33, 4.6416e+26, 1.0000e+20])
torch.logspace(start=10, end=20, steps=4, base=10, dtype=torch.int64)
torch.logspace(start=torch.tensor(10),
end=torch.tensor(20),
steps=torch.tensor(4),
base=torch.tensor(10),
dtype=torch.int64)
# tensor([10000000000,
# 21544346900318,
# 46415888336127912,
# -9223372036854775808])
torch.logspace(start=10.+6.j, end=20.+3.j, steps=4)
torch.logspace(start=torch.tensor(10.+6.j),
end=torch.tensor(20.+3.j),
steps=torch.tensor(4),
base=torch.tensor(10.+0.j))
# tensor([3.1614e+09+9.4871e+09j,
# 1.0655e+13-1.8725e+13j,
# -4.5353e+16+9.8772e+15j,
# 8.1122e+19+5.8475e+19j])
torch.logspace(start=False, end=True, steps=4, base=False)
torch.logspace(start=torch.tensor(False),
end=torch.tensor(True),
steps=torch.tensor(4),
base=torch.tensor(False))
# tensor([1., 0., 0., 0.])
This content originally appeared on DEV Community and was authored by Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito) | Sciencx (2024-07-10T15:24:30+00:00) logspace() in PyTorch. Retrieved from https://www.scien.cx/2024/07/10/logspace-in-pytorch/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.