برنامه نویسی

MaxPool2d() در PyTorch

Summarize this content to 400 words in Persian Lang برای من یک قهوه بخر☕

*یادداشت ها:

پست من Pooling Layer را توضیح می دهد.

پست من MaxPool1d() را توضیح می دهد.

پست من نیاز_grad را توضیح می دهد.

MaxPool2d() می تواند تانسور 3 بعدی یا 4 بعدی یک یا چند مقدار محاسبه شده با ادغام حداکثر 2 بعدی را از تانسور 3 بعدی یا 4 بعدی یک یا چند عنصر مانند زیر بدست آورد:

*یادداشت ها:

آرگومان اول برای مقداردهی اولیه است 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 توسط MaxPool2d().

import torch
from torch import nn

tensor1 = torch.tensor([[[8., -3., 0., 1., 5., -2.]]])

tensor1.requires_grad
# False

maxpool2d = nn.MaxPool2d(kernel_size=1)
tensor2 = maxpool2d(input=tensor1)
tensor2
# tensor([[[8., -3., 0., 1., 5., -2.]]])

tensor2.requires_grad
# False

maxpool2d
# MaxPool2d(kernel_size=1, stride=1, padding=0, dilation=1, ceil_mode=False)

maxpool2d.kernel_size
# 1

maxpool2d.stride
# 1

maxpool2d.padding
# 0

maxpool2d.dilation
# 1

maxpool2d.return_indices
# False

maxpool2d.ceil_mode
# False

maxpool2d = nn.MaxPool2d(kernel_size=1, stride=None, padding=0,
dilation=1, return_indices=False, ceil_mode=False)
maxpool2d(input=tensor1)
# tensor([[[8., -3., 0., 1., 5., -2.]]])

maxpool2d = nn.MaxPool2d(kernel_size=2, padding=1, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 0., 5., -2.]]]), tensor([[[0, 2, 4, 5]]]))

maxpool2d = nn.MaxPool2d(kernel_size=3, padding=1, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=4, padding=2, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=5, padding=2, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=6, padding=3, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=7, padding=3, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=8, padding=4, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=9, padding=4, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=10, padding=5, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))
etc.

my_tensor = torch.tensor([[[8., -3., 0.],
[1., 5., -2.]]])
maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8., -3., 0.],
# [1., 5., -2.]]]),
# tensor([[[0, 1, 2],
# [3, 4, 5]]]))

maxpool2d = nn.MaxPool2d(kernel_size=2, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8.]]]),
# tensor([[[0]]]))

my_tensor = torch.tensor([[[8.], [-3.], [0.], [1.], [5.], [-2.]]])

maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8.], [-3.], [0.], [1.], [5.], [-2.]]]),
# tensor([[[0], [1], [2], [3], [4], [5]]]))

my_tensor = torch.tensor([[[[8.], [-3.], [0.]],
[[1.], [5.], [-2.]]]])
maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[[8.], [-3.], [0.]],
# [[1.], [5.], [-2.]]]]),
# tensor([[[[0], [1], [2]],
# [[0], [1], [2]]]]))

برای من یک قهوه بخر☕

*یادداشت ها:

  • پست من Pooling Layer را توضیح می دهد.

  • پست من MaxPool1d() را توضیح می دهد.

  • پست من نیاز_grad را توضیح می دهد.

MaxPool2d() می تواند تانسور 3 بعدی یا 4 بعدی یک یا چند مقدار محاسبه شده با ادغام حداکثر 2 بعدی را از تانسور 3 بعدی یا 4 بعدی یک یا چند عنصر مانند زیر بدست آورد:

*یادداشت ها:

  • آرگومان اول برای مقداردهی اولیه است 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 توسط MaxPool2d().
import torch
from torch import nn

tensor1 = torch.tensor([[[8., -3., 0., 1., 5., -2.]]])

tensor1.requires_grad
# False

maxpool2d = nn.MaxPool2d(kernel_size=1)
tensor2 = maxpool2d(input=tensor1)
tensor2
# tensor([[[8., -3., 0., 1., 5., -2.]]])

tensor2.requires_grad
# False

maxpool2d
# MaxPool2d(kernel_size=1, stride=1, padding=0, dilation=1, ceil_mode=False)

maxpool2d.kernel_size
# 1

maxpool2d.stride
# 1

maxpool2d.padding
# 0

maxpool2d.dilation
# 1

maxpool2d.return_indices
# False

maxpool2d.ceil_mode
# False

maxpool2d = nn.MaxPool2d(kernel_size=1, stride=None, padding=0, 
                         dilation=1, return_indices=False, ceil_mode=False)
maxpool2d(input=tensor1)
# tensor([[[8., -3., 0., 1., 5., -2.]]])

maxpool2d = nn.MaxPool2d(kernel_size=2, padding=1, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 0., 5., -2.]]]), tensor([[[0, 2, 4, 5]]]))

maxpool2d = nn.MaxPool2d(kernel_size=3, padding=1, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=4, padding=2, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=5, padding=2, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=6, padding=3, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8., 5.]]]), tensor([[[0, 4]]]))

maxpool2d = nn.MaxPool2d(kernel_size=7, padding=3, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=8, padding=4, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=9, padding=4, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))

maxpool2d = nn.MaxPool2d(kernel_size=10, padding=5, return_indices=True)
maxpool2d(input=tensor1)
# (tensor([[[8.]]]), tensor([[[0]]]))
etc.

my_tensor = torch.tensor([[[8., -3., 0.],
                           [1., 5., -2.]]])
maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8., -3., 0.],
#           [1., 5., -2.]]]),
#  tensor([[[0, 1, 2],
#           [3, 4, 5]]]))

maxpool2d = nn.MaxPool2d(kernel_size=2, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8.]]]),
#  tensor([[[0]]]))

my_tensor = torch.tensor([[[8.], [-3.], [0.], [1.], [5.], [-2.]]])

maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[8.], [-3.], [0.], [1.], [5.], [-2.]]]),
#  tensor([[[0], [1], [2], [3], [4], [5]]]))

my_tensor = torch.tensor([[[[8.], [-3.], [0.]],
                           [[1.], [5.], [-2.]]]])
maxpool2d = nn.MaxPool2d(kernel_size=1, return_indices=True)
maxpool2d(input=my_tensor)
# (tensor([[[[8.], [-3.], [0.]],
#           [[1.], [5.], [-2.]]]]),
#  tensor([[[[0], [1], [2]],
#           [[0], [1], [2]]]]))

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا