برنامه نویسی

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()'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=)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

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

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

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