溫馨提示×

PyTorch中怎么實現批量歸一化

小億
142
2024-05-10 19:07:56
欄目: 深度學習

在PyTorch中,可以使用torch.nn.BatchNorm1dtorch.nn.BatchNorm2d來實現批量歸一化。具體代碼示例如下:

import torch
import torch.nn as nn

# 對輸入數據進行批量歸一化
input_data = torch.randn(20, 16, 50, 50)  # 輸入數據的shape為(batch_size, channels, height, width)

# 對2D數據進行批量歸一化
batchnorm = nn.BatchNorm2d(16)  # 對通道維度進行批量歸一化
output_data = batchnorm(input_data)

# 對1D數據進行批量歸一化
input_data = torch.randn(20, 16, 100)  # 輸入數據的shape為(batch_size, channels, length)
batchnorm = nn.BatchNorm1d(16)  # 對特征維度進行批量歸一化
output_data = batchnorm(input_data)

上述代碼中,nn.BatchNorm2d用于對2D數據(如圖像數據)進行批量歸一化,nn.BatchNorm1d用于對1D數據進行批量歸一化。需要注意的是,這兩個函數都會自動計算并更新均值和方差,同時也會學習伽馬和貝塔參數來進行縮放和偏移。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女