コース記録
畳み込み層から線形層、活性化関数へ
コースコード
少し
操作
1. 2 * 2畳み込みカーネルを使用して2チャンネル3 * 3画像を畳み込み、パディング= 0、ストライド= 1、膨張= 0
入力形状=(3、3、2)、カーネルサイズ= 2 * 2の場合、最初の畳み込みカーネルの所有権値は1です。
出力フィーチャマップサイズとすべてのピクセル値を計算します
畳み込み演算
import torch
import numpy as np
import torch.nn as nn
a = torch.tensor([[[1, 1], [2, 2], [3, 3]], [[4, 4], [5, 5], [6, 6]], [[7, 7], [8, 8], [9, 9]]], dtype=torch.float64) # 3 * 3 * 2
a = a.transpose(1, 2)
a = a.transpose(0, 1)
a = a.unsqueeze(dim = 0)
print(a, a.shape)
conv_layer = nn.Conv2d(in_channels = 2, out_channels = 1, kernel_size = (2, 2), bias = 0)
print('weight:', conv_layer.weight.shape, conv_layer.weight)
conv_weight_set = torch.ones((1, 2, 2, 2), dtype = torch.float64)
conv_layer.weight.data = conv_weight_set
b = conv_layer(a)
print('weight:', conv_layer.weight.shape, conv_layer.weight)
print('bias:', conv_layer.bias)
print('out:', b)