در پایتورچ، شما میتوانید وزنها و بایاسهای یک لایه شبکه عصبی را با استفاده از روشهای مختلف مقداردهی اولیه کنید. به عنوان مثال، برای مقداردهی اولیه وزنهای یک لایه، میتوانید از یک تابع از ماژول
torch.nn.init
استفاده کنید. در زیر یک نمونه کد آورده شده است که نحوه مقداردهی اولیه وزنهای یک لایه
torch.nn.Conv2d
با استفاده از روش
xavier_uniform
را نشان میدهد:
import torch.nn as nn
import torch.nn.init as init
conv1 = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, stride=1, padding=1)
init.xavier_uniform_(conv1.weight)
شما همچنین میتوانید پارامترها را با نوشتن در ویژگیهای
weight.data
و
bias.data
لایه تغییر دهید که هر دو آنها اشیاء
torch.Tensor
هستند. در زیر یک نمونه کد آورده شده است که نحوه پر کردن تانسور وزن و بایاس با یک مقدار ثابت را نشان میدهد:
conv1.weight.data.fill_(0.01)
conv1.bias.data.fill_(0.01)