Deepラーニングのメモです
762 views
まずはテストに使用したコードを以下に記す。
# coding:UTF-8
import numpy as np
import torch
import torch.nn as nn
def conv_test_net():
number_net = nn.Sequential(
nn.Conv2d(3, 3, 3, padding=1),
)
return number_net
if __name__ == '__main__':
# 3チャネル 3×3の画像データを1枚作成
virtual_img = [
[
[
[0,0,0],
[0,1,0],
[0,0,0]
],
[
[0,0,0],
[1,0,0],
[0,0,0]
],
[
[0,1,0],
[0,0,0],
[0,0,0]
],
]
]
t = torch.tensor(virtual_img, dtype=torch.float)
net = conv_test_net()
conv = net[0]
print("[weight]")
print(conv.weight)
print("[bias]")
print(conv.bias)
y = net(t)
print(y.size())
print(y)
前ページのコードから、10行目のコンボリューション層の入力も出力も3チャンネルに、18行目の画像のチャンネルを3チャンネルに変更した。
後は同じである。
実行結果を以下に記す。
[weight]
Parameter containing:
tensor([[[[ 0.0564, -0.1700, -0.0299],
[-0.0380, 0.1441, 0.1701],
[-0.1202, 0.0945, -0.1779]],
[[-0.1027, 0.0413, -0.1754],
[-0.0346, 0.0970, -0.0097],
[ 0.1605, 0.1860, -0.1664]],
[[ 0.1897, 0.1018, -0.0093],
[ 0.1059, 0.0945, 0.1892],
[-0.0633, -0.1559, 0.1348]]],
[[[-0.0908, 0.0070, -0.0063],
[ 0.0854, 0.0748, -0.0407],
[-0.1433, 0.0555, -0.1300]],
[[-0.1421, -0.0309, 0.1618],
[ 0.0688, 0.0296, 0.1324],
[-0.0190, 0.0046, -0.1572]],
[[ 0.0920, 0.1669, -0.1884],
[ 0.1685, -0.1078, 0.0784],
[ 0.0278, 0.0433, 0.0387]]],
[[[-0.1236, 0.0811, -0.0670],
[-0.1856, -0.0041, 0.0049],
[ 0.1199, -0.0394, 0.1008]],
[[-0.1344, 0.1040, -0.0544],
[-0.1300, 0.1650, -0.0189],
[ 0.1847, -0.0663, -0.0671]],
[[-0.1588, 0.1365, -0.0950],
[ 0.0457, 0.0731, -0.0296],
[ 0.0449, -0.1716, 0.0680]]]], requires_grad=True)
[bias]
Parameter containing:
tensor([-0.0784, -0.1122, 0.0809], requires_grad=True)
torch.Size([1, 3, 3, 3])
tensor([[[[ 0.1190, 0.2712, -0.0926],
[ 0.1794, 0.1329, 0.0733],
[-0.0669, -0.3510, -0.0220]],
[[-0.1591, -0.1834, -0.0870],
[-0.3116, 0.1983, 0.0651],
[-0.1494, -0.2473, -0.2030]],
[[ 0.0859, 0.2993, 0.2465],
[ 0.1559, 0.0833, -0.2635],
[ 0.1179, 0.0277, -0.0427]]]], grad_fn=<MkldnnConvolutionBackward>)
1チャンネルの入力に対して、3つのコンボリューション層が対応する。
計算については画像を拡大して参照してください。
つまり、
の数だけフィルターが生成される。
Page 10 of 33.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/