BatchNorm2d() در PyTorch – انجمن DEV

Summarize this content to 400 words in Persian Lang
برای من یک قهوه بخر☕
*یادداشت ها:
BatchNorm2d() میتواند تانسور 4 بعدی دو یا چند عنصر را که توسط نرمالسازی دستهای 2 بعدی محاسبه میشود، از تانسور 4 بعدی دو یا چند عنصر دریافت کند که در زیر نشان داده شده است:
*یادداشت ها:
آرگومان اول برای مقداردهی اولیه است num_features(الزامی-نوع:int). *باید باشد 1 .
آرگومان دوم برای مقداردهی اولیه است eps(اختیاری-پیش فرض:1e-05-نوع:float).
آرگومان سوم برای مقداردهی اولیه است momentum(اختیاری-پیش فرض:0.1-نوع:float).
آرگومان چهارم برای مقداردهی اولیه است affine(اختیاری-پیش فرض:True-نوع:bool).
آرگومان پنجم برای مقداردهی اولیه است track_running_stats(اختیاری-پیش فرض:True-نوع:bool).
آرگومان ششم برای مقداردهی اولیه است device(نوع اختیاری:str، int یا دستگاه()). *یادداشت ها:
آرگومان هفتم برای مقداردهی اولیه است dtype(نوع اختیاری:int). *یادداشت ها:
استدلال اول این است input(الزامی-نوع:tensor از float).
تانسور requires_grad که هست False به طور پیش فرض روی تنظیم شده است True توسط BatchNorm2d().
تانسور ورودی device و dtype باید همان باشد BatchNorm2d()'s device و dtype به ترتیب.
batchnorm2d1.device و batchnorm2d1.dtype کار نکن
import torch
from torch import nn
tensor1 = torch.tensor([[[[8., -3., 0., 1., 5., -2.]]]])
tensor1.requires_grad
# False
batchnorm2d1 = nn.BatchNorm2d(num_features=1)
tensor2 = batchnorm2d1(input=tensor1)
tensor2
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
tensor2.requires_grad
# True
batchnorm2d1
# BatchNorm2d(1, eps=1e-05, momentum=0.1, affine=True,
# track_running_stats=True)
batchnorm2d1.num_features
# 1
batchnorm2d1.eps
# 1e-05
batchnorm2d1.momentum
# 0.1
batchnorm2d1.affine
# True
batchnorm2d1.track_running_stats
# True
batchnorm2d2 = nn.BatchNorm2d(num_features=1)
batchnorm2d2(input=tensor2)
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
batchnorm2d = nn.BatchNorm2d(num_features=1, eps=1e-05, momentum=0.1,
affine=True, track_running_stats=True,
device=None, dtype=None)
batchnorm2d(input=tensor1)
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8., -3., 0.],
[1., 5., -2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=1)
batchnorm2d(input=my_tensor)
# tensor([[[[1.6830, -1.1651, -0.3884],
# [-0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8.], [-3.], [0.], [1.], [5.], [-2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=1)
batchnorm2d(input=my_tensor)
# tensor([[[[1.6830], [-1.1651], [-0.3884], [-0.1295], [0.9062], [-0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8.], [-3.], [0.]],
[[1.], [5.], [-2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=2)
batchnorm2d(input=my_tensor)
# tensor([[[[1.3641], [-1.0051], [-0.3590]],
# [[-0.1162], [1.2787], [-1.1625]]]],
# grad_fn=)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
برای من یک قهوه بخر☕
*یادداشت ها:
BatchNorm2d() میتواند تانسور 4 بعدی دو یا چند عنصر را که توسط نرمالسازی دستهای 2 بعدی محاسبه میشود، از تانسور 4 بعدی دو یا چند عنصر دریافت کند که در زیر نشان داده شده است:
*یادداشت ها:
- آرگومان اول برای مقداردهی اولیه است
num_features
(الزامی-نوع:int
). *باید باشد1 .
- آرگومان دوم برای مقداردهی اولیه است
eps
(اختیاری-پیش فرض:1e-05
-نوع:float
). - آرگومان سوم برای مقداردهی اولیه است
momentum
(اختیاری-پیش فرض:0.1
-نوع:float
). - آرگومان چهارم برای مقداردهی اولیه است
affine
(اختیاری-پیش فرض:True
-نوع:bool
). - آرگومان پنجم برای مقداردهی اولیه است
track_running_stats
(اختیاری-پیش فرض:True
-نوع:bool
). - آرگومان ششم برای مقداردهی اولیه است
device
(نوع اختیاری:str
،int
یا دستگاه()). *یادداشت ها: - آرگومان هفتم برای مقداردهی اولیه است
dtype
(نوع اختیاری:int
). *یادداشت ها: - استدلال اول این است
input
(الزامی-نوع:tensor
ازfloat
). - تانسور
requires_grad
که هستFalse
به طور پیش فرض روی تنظیم شده استTrue
توسطBatchNorm2d()
. - تانسور ورودی
device
وdtype
باید همان باشدBatchNorm2d()
'sdevice
وdtype
به ترتیب. -
batchnorm2d1.device
وbatchnorm2d1.dtype
کار نکن
import torch
from torch import nn
tensor1 = torch.tensor([[[[8., -3., 0., 1., 5., -2.]]]])
tensor1.requires_grad
# False
batchnorm2d1 = nn.BatchNorm2d(num_features=1)
tensor2 = batchnorm2d1(input=tensor1)
tensor2
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
tensor2.requires_grad
# True
batchnorm2d1
# BatchNorm2d(1, eps=1e-05, momentum=0.1, affine=True,
# track_running_stats=True)
batchnorm2d1.num_features
# 1
batchnorm2d1.eps
# 1e-05
batchnorm2d1.momentum
# 0.1
batchnorm2d1.affine
# True
batchnorm2d1.track_running_stats
# True
batchnorm2d2 = nn.BatchNorm2d(num_features=1)
batchnorm2d2(input=tensor2)
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
batchnorm2d = nn.BatchNorm2d(num_features=1, eps=1e-05, momentum=0.1,
affine=True, track_running_stats=True,
device=None, dtype=None)
batchnorm2d(input=tensor1)
# tensor([[[[1.6830, -1.1651, -0.3884, -0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8., -3., 0.],
[1., 5., -2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=1)
batchnorm2d(input=my_tensor)
# tensor([[[[1.6830, -1.1651, -0.3884],
# [-0.1295, 0.9062, -0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8.], [-3.], [0.], [1.], [5.], [-2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=1)
batchnorm2d(input=my_tensor)
# tensor([[[[1.6830], [-1.1651], [-0.3884], [-0.1295], [0.9062], [-0.9062]]]],
# grad_fn=)
my_tensor = torch.tensor([[[[8.], [-3.], [0.]],
[[1.], [5.], [-2.]]]])
batchnorm2d = nn.BatchNorm2d(num_features=2)
batchnorm2d(input=my_tensor)
# tensor([[[[1.3641], [-1.0051], [-0.3590]],
# [[-0.1162], [1.2787], [-1.1625]]]],
# grad_fn=)