質問編集履歴

6

コードが見難かったので修正しました。

2021/03/23 03:04

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,8 @@
116
116
 
117
117
  <追記>
118
118
 
119
+ ```python
120
+
119
121
  class MyChain(chainer.Chain):
120
122
 
121
123
  def init(self):
@@ -130,9 +132,13 @@
130
132
 
131
133
  self.l2 = L.Linear(None, 2)
132
134
 
135
+ ```
136
+
133
137
 
134
138
 
135
139
  おそらくこの下の箇所が問題かと思っているのですが、
140
+
141
+ ```python
136
142
 
137
143
  def call(self, x):
138
144
 
@@ -142,11 +148,13 @@
142
148
 
143
149
  return h
144
150
 
151
+ ```
152
+
145
153
 
146
154
 
147
155
  ・書き方1
148
156
 
149
-
157
+ ```python
150
158
 
151
159
  def call(self, x):
152
160
 
@@ -156,9 +164,13 @@
156
164
 
157
165
  return y
158
166
 
167
+ ```
168
+
159
169
 
160
170
 
161
171
  ・書き方2
172
+
173
+ ```python
162
174
 
163
175
  def call(self, x):
164
176
 
@@ -168,9 +180,13 @@
168
180
 
169
181
  return h2
170
182
 
183
+ ```
184
+
171
185
 
172
186
 
173
187
  ・書き方3
188
+
189
+ ```python
174
190
 
175
191
  def call(self, x):
176
192
 
@@ -178,4 +194,6 @@
178
194
 
179
195
  return self.l2(h)
180
196
 
197
+ ```
198
+
181
199
  などの書き方をしても解消されない状態です。。

5

コード検証例追加

2021/03/23 03:04

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -111,3 +111,71 @@
111
111
  chainer.serializers.save_npz("result/out.model",model)
112
112
 
113
113
  ```
114
+
115
+
116
+
117
+ <追記>
118
+
119
+ class MyChain(chainer.Chain):
120
+
121
+ def init(self):
122
+
123
+ super(MyChain, self).init()
124
+
125
+
126
+
127
+ with self.init_scope():
128
+
129
+ self.l1 = L.Linear(None, 3)
130
+
131
+ self.l2 = L.Linear(None, 2)
132
+
133
+
134
+
135
+ おそらくこの下の箇所が問題かと思っているのですが、
136
+
137
+ def call(self, x):
138
+
139
+ h = F.relu(self.l1(x))
140
+
141
+ h = self.l2(h)
142
+
143
+ return h
144
+
145
+
146
+
147
+ ・書き方1
148
+
149
+
150
+
151
+ def call(self, x):
152
+
153
+ h1 = F.relu(self.l1(x))
154
+
155
+ y = self.l2(h1)
156
+
157
+ return y
158
+
159
+
160
+
161
+ ・書き方2
162
+
163
+ def call(self, x):
164
+
165
+ h1 = F.relu(self.l1(x))
166
+
167
+ h2 = self.l2(h1)
168
+
169
+ return h2
170
+
171
+
172
+
173
+ ・書き方3
174
+
175
+ def call(self, x):
176
+
177
+ h = F.relu(self.l1(x))
178
+
179
+ return self.l2(h)
180
+
181
+ などの書き方をしても解消されない状態です。。

4

微修正

2021/03/23 02:38

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,8 @@
11
11
  〜コード〜
12
12
 
13
13
  ```python
14
+
15
+
14
16
 
15
17
  import numpy as np
16
18
 
@@ -106,4 +108,6 @@
106
108
 
107
109
 
108
110
 
109
- chainer.serializers.save_npz("result/out.model",model)```
111
+ chainer.serializers.save_npz("result/out.model",model)
112
+
113
+ ```

3

微修正

2021/03/23 00:51

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -41,6 +41,8 @@
41
41
  self.l1 = L.Linear(None, 3)
42
42
 
43
43
  self.l2 = L.Linear(None, 2)
44
+
45
+
44
46
 
45
47
  def __call__(self, x):
46
48
 

2

微修正

2021/03/23 00:50

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -11,8 +11,6 @@
11
11
  〜コード〜
12
12
 
13
13
  ```python
14
-
15
-
16
14
 
17
15
  import numpy as np
18
16
 
@@ -29,8 +27,6 @@
29
27
  from chainer.training import extensions
30
28
 
31
29
 
32
-
33
- #NNの設定
34
30
 
35
31
  class MyChain(chainer.Chain):
36
32
 
@@ -56,8 +52,6 @@
56
52
 
57
53
 
58
54
 
59
- #データの設定
60
-
61
55
  trainx = np.array(([0,0],[0,1],[1,0],[1,1]),dtype=np.float32)
62
56
 
63
57
  trainy = np.array([0,1,1,0],dtype=np.int32)
@@ -68,10 +62,6 @@
68
62
 
69
63
 
70
64
 
71
- #chainerの設定
72
-
73
- #ニューラルネットの登録
74
-
75
65
  model = L.Classifier(MyChain(),lossfun=F.softmax_cross_entropy)
76
66
 
77
67
  optimizer = chainer.optimizers.Adam()
@@ -79,8 +69,6 @@
79
69
  optimizer.setup(model)
80
70
 
81
71
 
82
-
83
- #イテレータの定義
84
72
 
85
73
  batchsize = 4
86
74
 
@@ -90,21 +78,15 @@
90
78
 
91
79
 
92
80
 
93
- #アップデータの登録
94
-
95
81
  updater = training.StandardUpdater(train_iter,optimizer)
96
82
 
97
83
 
98
-
99
- #トレーナーの登録
100
84
 
101
85
  epoch = 500
102
86
 
103
87
  trainer = training.Trainer(updater,(epoch,'epoch'))
104
88
 
105
89
 
106
-
107
- #学習状況の表示や保存
108
90
 
109
91
  trainer.extend(extensions.LogReport()) #ログ
110
92
 
@@ -118,16 +100,8 @@
118
100
 
119
101
 
120
102
 
121
- #学習開始
122
-
123
103
  trainer.run()
124
104
 
125
105
 
126
106
 
127
- #モデルの保存
128
-
129
- chainer.serializers.save_npz("result/out.model",model)
107
+ chainer.serializers.save_npz("result/out.model",model)```
130
-
131
-
132
-
133
- ```

1

コードが見難かったので修正しました。

2021/03/23 00:47

投稿

kei_kei_
kei_kei_

スコア6

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,9 @@
10
10
 
11
11
  〜コード〜
12
12
 
13
- #上の関数をひとまとめにする
13
+ ```python
14
+
15
+
14
16
 
15
17
  import numpy as np
16
18
 
@@ -125,3 +127,7 @@
125
127
  #モデルの保存
126
128
 
127
129
  chainer.serializers.save_npz("result/out.model",model)
130
+
131
+
132
+
133
+ ```