MaxPool1d() در PyTorch
Summarize this content to 400 words in Persian Lang برای من یک قهوه بخر☕
*یادداشت ها:
پست من Pooling Layer را توضیح می دهد.
پست من نیاز_grad را توضیح می دهد.
MaxPool1d() می تواند تانسور دوبعدی یا سه بعدی یک یا چند مقدار محاسبه شده با ادغام حداکثری 1 بعدی را از تانسور دو بعدی یا سه بعدی یک یا چند عنصر مانند زیر دریافت کند:
*یادداشت ها:
آرگومان اول برای مقداردهی اولیه است kernel_size(الزامی-نوع:int یا tuple یا list از int). *باید باشد 1 <= x.
آرگومان دوم برای مقداردهی اولیه است stride(اختیاری-پیش فرض:kernel_size-نوع:int یا tuple یا list از int). *باید باشد 1 <= x.
آرگومان سوم برای مقداردهی اولیه است padding(اختیاری-پیش فرض:0-نوع:int یا tuple یا list از int). *باید باشد 0 <= x.
آرگومان چهارم برای مقداردهی اولیه است dilation(اختیاری-پیش فرض:1-نوع:int یا tuple یا list از int). *باید باشد 1 <= x.
آرگومان پنجم برای مقداردهی اولیه است return_indices(اختیاری-پیش فرض:False-نوع:bool).
آرگومان ششم برای مقداردهی اولیه است ceil_mode(اختیاری-پیش فرض:False-نوع:bool).
استدلال اول این است input(الزامی-نوع:tensor از float).
تانسور requires_grad که هست False به طور پیش فرض روی تنظیم نشده است True توسط MaxPool1d().
import torch
from torch import nn
tensor1 = torch.tensor([[8., -3., 0., 1., 5., -2.]])
tensor1.requires_grad
# False
maxpool1d = nn.MaxPool1d(kernel_size=1)
tensor2 = maxpool1d(input=tensor1)
tensor2
# tensor([[8., -3., 0., 1., 5., -2.]])
tensor2.requires_grad
# False
maxpool1d
# MaxPool1d(kernel_size=1, stride=1, padding=0, dilation=1, ceil_mode=False)
maxpool1d.kernel_size
# 1
maxpool1d.stride
# 1
maxpool1d.padding
# 0
maxpool1d.dilation
# 1
maxpool1d.return_indices
# False
maxpool1d.ceil_mode
# False
maxpool1d = nn.MaxPool1d(kernel_size=1, stride=None, padding=0,
dilation=1, return_indices=False, ceil_mode=False)
maxpool1d(input=tensor1)
# tensor([[8., -3., 0., 1., 5., -2.]])
maxpool1d = nn.MaxPool1d(kernel_size=2, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8., 1., 5.]]), tensor([[0, 3, 4]]))
maxpool1d = nn.MaxPool1d(kernel_size=3, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8., 5.]]), tensor([[0, 4]]))
maxpool1d = nn.MaxPool1d(kernel_size=4, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
maxpool1d = nn.MaxPool1d(kernel_size=5, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
maxpool1d = nn.MaxPool1d(kernel_size=6, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
my_tensor = torch.tensor([[8., -3., 0.],
[1., 5., -2.]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8., -3., 0.],
# [1., 5., -2.]]),
# tensor([[0, 1, 2],
# [0, 1, 2]]))
maxpool1d = nn.MaxPool1d(kernel_size=2, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.],
# [5.]]),
# tensor([[0],
# [1]]))
maxpool1d = nn.MaxPool1d(kernel_size=3, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.],
# [5.]]),
# tensor([[0],
# [1]]))
my_tensor = torch.tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]]),
# tensor([[0], [0], [0], [0], [0], [0]]))
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]]),
# tensor([[0], [0], [0], [0], [0], [0]]))
my_tensor = torch.tensor([[[8.], [-3.], [0.]],
[[1.], [5.], [-2.]]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[[8.], [-3.], [0.]],
# [[1.], [5.], [-2.]]]),
# tensor([[[0], [0], [0]],
# [[0], [0], [0]]]))
برای من یک قهوه بخر☕
*یادداشت ها:
-
پست من Pooling Layer را توضیح می دهد.
-
پست من نیاز_grad را توضیح می دهد.
MaxPool1d() می تواند تانسور دوبعدی یا سه بعدی یک یا چند مقدار محاسبه شده با ادغام حداکثری 1 بعدی را از تانسور دو بعدی یا سه بعدی یک یا چند عنصر مانند زیر دریافت کند:
*یادداشت ها:
- آرگومان اول برای مقداردهی اولیه است
kernel_size
(الزامی-نوع:int
یاtuple
یاlist
ازint
). *باید باشد1 <= x
. - آرگومان دوم برای مقداردهی اولیه است
stride
(اختیاری-پیش فرض:kernel_size
-نوع:int
یاtuple
یاlist
ازint
). *باید باشد1 <= x
. - آرگومان سوم برای مقداردهی اولیه است
padding
(اختیاری-پیش فرض:0
-نوع:int
یاtuple
یاlist
ازint
). *باید باشد0 <= x
. - آرگومان چهارم برای مقداردهی اولیه است
dilation
(اختیاری-پیش فرض:1
-نوع:int
یاtuple
یاlist
ازint
). *باید باشد1 <= x
. - آرگومان پنجم برای مقداردهی اولیه است
return_indices
(اختیاری-پیش فرض:False
-نوع:bool
). - آرگومان ششم برای مقداردهی اولیه است
ceil_mode
(اختیاری-پیش فرض:False
-نوع:bool
). - استدلال اول این است
input
(الزامی-نوع:tensor
ازfloat
). - تانسور
requires_grad
که هستFalse
به طور پیش فرض روی تنظیم نشده استTrue
توسطMaxPool1d()
.
import torch
from torch import nn
tensor1 = torch.tensor([[8., -3., 0., 1., 5., -2.]])
tensor1.requires_grad
# False
maxpool1d = nn.MaxPool1d(kernel_size=1)
tensor2 = maxpool1d(input=tensor1)
tensor2
# tensor([[8., -3., 0., 1., 5., -2.]])
tensor2.requires_grad
# False
maxpool1d
# MaxPool1d(kernel_size=1, stride=1, padding=0, dilation=1, ceil_mode=False)
maxpool1d.kernel_size
# 1
maxpool1d.stride
# 1
maxpool1d.padding
# 0
maxpool1d.dilation
# 1
maxpool1d.return_indices
# False
maxpool1d.ceil_mode
# False
maxpool1d = nn.MaxPool1d(kernel_size=1, stride=None, padding=0,
dilation=1, return_indices=False, ceil_mode=False)
maxpool1d(input=tensor1)
# tensor([[8., -3., 0., 1., 5., -2.]])
maxpool1d = nn.MaxPool1d(kernel_size=2, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8., 1., 5.]]), tensor([[0, 3, 4]]))
maxpool1d = nn.MaxPool1d(kernel_size=3, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8., 5.]]), tensor([[0, 4]]))
maxpool1d = nn.MaxPool1d(kernel_size=4, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
maxpool1d = nn.MaxPool1d(kernel_size=5, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
maxpool1d = nn.MaxPool1d(kernel_size=6, return_indices=True)
maxpool1d(input=tensor1)
# (tensor([[8.]]), tensor([[0]]))
my_tensor = torch.tensor([[8., -3., 0.],
[1., 5., -2.]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8., -3., 0.],
# [1., 5., -2.]]),
# tensor([[0, 1, 2],
# [0, 1, 2]]))
maxpool1d = nn.MaxPool1d(kernel_size=2, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.],
# [5.]]),
# tensor([[0],
# [1]]))
maxpool1d = nn.MaxPool1d(kernel_size=3, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.],
# [5.]]),
# tensor([[0],
# [1]]))
my_tensor = torch.tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]]),
# tensor([[0], [0], [0], [0], [0], [0]]))
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[8.], [-3.], [0.], [1.], [5.], [-2.]]),
# tensor([[0], [0], [0], [0], [0], [0]]))
my_tensor = torch.tensor([[[8.], [-3.], [0.]],
[[1.], [5.], [-2.]]])
maxpool1d = nn.MaxPool1d(kernel_size=1, return_indices=True)
maxpool1d(input=my_tensor)
# (tensor([[[8.], [-3.], [0.]],
# [[1.], [5.], [-2.]]]),
# tensor([[[0], [0], [0]],
# [[0], [0], [0]]]))