質問編集履歴
2
指摘内容修正しました
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
x = np.arange(6*1*28*28).reshape(6,1,28,28)
|
|
57
57
|
|
|
58
58
|
#フィルタ
|
|
59
|
-
w = np.arange(5*9*9).reshape(5,9,9)
|
|
59
|
+
w = np.arange(5*1*9*9).reshape(5,1,9,9)
|
|
60
60
|
|
|
61
61
|
#入力2次元化
|
|
62
62
|
col_x,out_h,out_w = im2col(x,9,9,1,1,0,0)#入力, フィルタサイズ9, ストライド1
|
|
@@ -87,9 +87,11 @@
|
|
|
87
87
|
z = conv2.reshape(conv2.shape[0],-1)
|
|
88
88
|
y = np.dot(z,w_affine)
|
|
89
89
|
|
|
90
|
+
t = np.zeros((6,10))
|
|
90
91
|
#教師信号
|
|
91
|
-
|
|
92
|
+
for i in range(6):
|
|
92
|
-
t[
|
|
93
|
+
t[i,i]=1
|
|
94
|
+
print(t)
|
|
93
95
|
|
|
94
96
|
#全結合層誤差
|
|
95
97
|
Error2 = (y-t)
|
|
@@ -102,8 +104,9 @@
|
|
|
102
104
|
dout2 = dout2.transpose(0,2,3,1).reshape(-1,5)
|
|
103
105
|
|
|
104
106
|
#w2更新
|
|
105
|
-
dw2 = np.dot(
|
|
107
|
+
dw2 = np.dot(input_col.T,dout2)
|
|
106
108
|
dw2 = dw2.transpose(1,0).reshape(5,5,9,9)
|
|
109
|
+
print(dw2.shape)
|
|
107
110
|
|
|
108
111
|
#畳み込み層1誤差
|
|
109
112
|
dout1_col = np.dot(dout2,col_w2.T)
|
|
@@ -111,7 +114,7 @@
|
|
|
111
114
|
dout1 = dout1.transpose(0,2,3,1).reshape(-1,5)
|
|
112
115
|
|
|
113
116
|
#w1更新
|
|
114
|
-
dw1 = np.dot(
|
|
117
|
+
dw1 = np.dot(col_x.T,dout1)
|
|
115
118
|
dw1 = dw1.transpose(1,0).reshape(5,1,9,9)
|
|
116
119
|
|
|
117
120
|
```
|
1
誤りを修正しました
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
dout2 = dout2.transpose(0,2,3,1).reshape(-1,5)
|
|
103
103
|
|
|
104
104
|
#w2更新
|
|
105
|
-
dw2 = np.dot(conv2_col.T,
|
|
105
|
+
dw2 = np.dot(conv2_col.T,dout2)
|
|
106
106
|
dw2 = dw2.transpose(1,0).reshape(5,5,9,9)
|
|
107
107
|
|
|
108
108
|
#畳み込み層1誤差
|