在PyTorch中,一維卷積的權重可以通過以下步驟加載:
首先,需要確定一維卷積層的名稱或索引。假設我們有一個名為conv1
的一維卷積層,我們可以使用以下代碼獲取其權重:
conv1_weights = model.conv1.weight.data
如果我們不知道卷積層的名稱或索引,可以使用以下代碼獲取模型中所有卷積層的權重:
for name, param in model.named_parameters():
if 'weight' in name:
print(name, param.size())
接下來,需要將預訓練權重復制到一個新的權重張量中。假設預訓練權重存儲在一個名為pretrained_weights
的NumPy數組中,我們可以使用以下代碼將其復制到一個新的權重張量中:
import numpy as np
pretrained_weights = np.load('pretrained_weights.npy')
conv1_weights_np = torch.from_numpy(pretrained_weights)
最后,將新的權重張量賦值給模型中的一維卷積層:
conv1_weights.copy_(conv1_weights_np)
這樣,我們就成功地將預訓練權重復制到了模型的一維卷積層中。