質問編集履歴

1

エラー内容を載せました。vscodeで書いています

2018/10/21 14:21

投稿

babbleman
babbleman

スコア107

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,333 @@
7
7
  以前と重複した質問になってしまいますが、いまだ解決策を見つけられていないため再度質問させて頂きました。
8
8
 
9
9
  よろしくお願いいたします。
10
+
11
+ import numpy as np
12
+
13
+ import chainer
14
+
15
+ import chainer.function as F
16
+
17
+ import chainer.links as L
18
+
19
+ import chainer.initializers as I
20
+
21
+ from chainer import training
22
+
23
+ from chainer.training import extensions
24
+
25
+ class Mychain(chainer.Chain):
26
+
27
+ def __init__(self):
28
+
29
+ super(Mychain,self).__init__()
30
+
31
+ with self.init_scope():
32
+
33
+ self.l1=L.Linear(2,3)#入力層2,中間層3
34
+
35
+ self.l2=L.Linear(3,2)#中間層3,出力層2
36
+
37
+ def __call__(self,x):
38
+
39
+ h1=F.relu(self.l1(x))#レル関数
40
+
41
+ y=self.l2(h1)
42
+
43
+ return y
44
+
45
+ epoch=100
46
+
47
+ batchsize=4
48
+
49
+
50
+
51
+ #データの作成
52
+
53
+ trainx=np.array(([0,0],[0,1],[1,0],[1,1]),dtype=np.float32)
54
+
55
+ trainy=np.array([0,1,1,1],dtype=np.int32)
56
+
57
+ train=chainer.datasets.TupleDataset(trainx,trainy)
58
+
59
+ test=chainer.datasets.TupleDataset(trainx,trainy)
60
+
61
+
62
+
63
+ #ニューラルネットワークの登録
64
+
65
+ model=L.Classifier(Mychain(), lossfun=F.softmax_cross_entropy)
66
+
67
+ optimizer=chainer.optimizers.Adam()
68
+
69
+ optimizer.setup(model)
70
+
71
+
72
+
73
+ #イテレータの定義
74
+
75
+ train_iter=chainer.iterators.SerialIterator(train,batchsize)
76
+
77
+ test_iter=chainer.iterators.SerialIterator(test,batchsize,repeat=False,shuffle=False)
78
+
79
+
80
+
81
+ #アップデータの登録 
82
+
83
+ updater=training.StandardUpdater(train_iter,optimizer)
84
+
85
+
86
+
87
+ #トレーナーの登録
88
+
89
+ trainer=training.Trainer(updater,(epoch,'epoch'))
90
+
91
+
92
+
93
+ #学習状況の表示や保存
94
+
95
+ trainer.extend(extensions.LogReport())#ログ
96
+
97
+ trainer.extend(extensions.Evaluator(test_iter,model))#エポック数の表示
98
+
99
+ trainer.extend(extensions.PrintReport(['epoch','main/loss','validation/main/loss','main/accuracy','validation/main/accuracy','elapsed_time']))
100
+
101
+
102
+
103
+ trainer.extend(extensions.dump_graph('main/loss'))
104
+
105
+ trainer.extend(extensions.PlotReport)(['main/accuracy','validation/main/loss'],'epoch',filename='accuracy.png')
106
+
107
+ chainer.serializers.save_npz('result/out.model',model)
108
+
109
+ trainer.run
110
+
111
+
112
+
113
+ これを実行しようとしたところ以下のように出ました。
114
+
115
+ >>> r import training
116
+
117
+ File "<stdin>", line 1
118
+
119
+ r import training
120
+
121
+ ^
122
+
123
+ SyntaxError: invalid syntax
124
+
125
+ >>> from chainer.training import extensions
126
+
127
+ >>> class Mychain(chainer.Chain):
128
+
129
+ ... def __init__(self):
130
+
131
+ ... super(Mychain,self).__init__()
132
+
133
+ ... with self.init_scope():
134
+
135
+ ... self.l1=L.Linear(2,3)#入力層2,中間層3
136
+
137
+ ... self.l2=L.Linear(3,2)#中間層3,出力層2
138
+
139
+ ... def __call__(self,x):
140
+
141
+ ... h1=F.relu(self.l1(x))#レル関数
142
+
143
+ ... y=self.l2(h1)
144
+
145
+ ... return y
146
+
147
+ ... epoch=100
148
+
149
+ File "<stdin>", line 11
150
+
151
+ epoch=100
152
+
153
+ ^
154
+
155
+ SyntaxError: invalid syntax
156
+
157
+ >>> batchsize=4
158
+
159
+ >>>
160
+
161
+ >>> #データの作成
162
+
163
+ ... trainx=np.array(([0,0],[0,1],[1,0],[1,1]),dtype=np.float32)
164
+
165
+ Traceback (most recent call last):
166
+
167
+ File "<stdin>", line 2, in <module>
168
+
169
+ NameError: name 'np' is not defined
170
+
171
+ >>> trainy=np.array([0,1,1,1],dtype=np.int32)
172
+
173
+ Traceback (most recent call last):
174
+
175
+ File "<stdin>", line 1, in <module>
176
+
177
+ NameError: name 'np' is not defined
178
+
179
+ >>> train=chainer.datasets.TupleDataset(trainx,trainy)
180
+
181
+ Traceback (most recent call last):
182
+
183
+ File "<stdin>", line 1, in <module>
184
+
185
+ NameError: name 'chainer' is not defined
186
+
187
+ >>> test=chainer.datasets.TupleDataset(trainx,trainy)
188
+
189
+ Traceback (most recent call last):
190
+
191
+ File "<stdin>", line 1, in <module>
192
+
193
+ NameError: name 'chainer' is not defined
194
+
195
+ >>>
196
+
197
+ >>> #ニューラルネットワークの登録
198
+
199
+ ... model=L.Classifier(Mychain(), lossfun=F.softmax_cross_entropy)
200
+
201
+ Traceback (most recent call last):
202
+
203
+ File "<stdin>", line 2, in <module>
204
+
205
+ NameError: name 'L' is not defined
206
+
207
+ >>> optimizer=chainer.optimizers.Adam()
208
+
209
+ Traceback (most recent call last):
210
+
211
+ File "<stdin>", line 1, in <module>
212
+
213
+ NameError: name 'chainer' is not defined
214
+
215
+ >>> optimizer.setup(model)
216
+
217
+ Traceback (most recent call last):
218
+
219
+ File "<stdin>", line 1, in <module>
220
+
221
+ NameError: name 'optimizer' is not defined
222
+
223
+ >>>
224
+
225
+ >>> #イテレータの定義
226
+
227
+ ... train_iter=chainer.iterators.SerialIterator(train,batchsize)
228
+
229
+ Traceback (most recent call last):
230
+
231
+ File "<stdin>", line 2, in <module>
232
+
233
+ NameError: name 'chainer' is not defined
234
+
235
+ >>> test_iter=chainer.iterators.SerialIterator(test,batchsize,repeat=False,shuffle=False)
236
+
237
+ Traceback (most recent call last):
238
+
239
+ File "<stdin>", line 1, in <module>
240
+
241
+ NameError: name 'chainer' is not defined
242
+
243
+ >>>
244
+
245
+ >>> #アップデータの登録
246
+
247
+ ... updater=training.StandardUpdater(train_iter,optimizer)
248
+
249
+ Traceback (most recent call last):
250
+
251
+ File "<stdin>", line 2, in <module>
252
+
253
+ NameError: name 'training' is not defined
254
+
255
+ >>>
256
+
257
+ >>> #トレーナーの登録
258
+
259
+ ... trainer=training.Trainer(updater,(epoch,'epoch'))
260
+
261
+ Traceback (most recent call last):
262
+
263
+ File "<stdin>", line 2, in <module>
264
+
265
+ NameError: name 'training' is not defined
266
+
267
+ >>>
268
+
269
+ >>> #学習状況の表示や保存
270
+
271
+ ... trainer.extend(extensions.LogReport())#ログ
272
+
273
+ Traceback (most recent call last):
274
+
275
+ File "<stdin>", line 2, in <module>
276
+
277
+ NameError: name 'trainer' is not defined
278
+
279
+ >>> trainer.extend(extensions.Evaluator(test_iter,model))#エポック数の表示
280
+
281
+ Traceback (most recent call last):
282
+
283
+ File "<stdin>", line 1, in <module>
284
+
285
+ NameError: name 'trainer' is not defined
286
+
287
+ >>> trainer.extend(extensions.PrintReport(['epoch','main/loss','validation/main/loss','main/accuracy','validation/main/accuracy','elapsed_time']))
288
+
289
+ Traceback (most recent call last):
290
+
291
+ File "<stdin>", line 1, in <module>
292
+
293
+ NameError: name 'trainer' is not defined
294
+
295
+ >>>
296
+
297
+ >>> trainer.extend(extensions.dump_graph('main/loss'))
298
+
299
+ Traceback (most recent call last):
300
+
301
+ File "<stdin>", line 1, in <module>
302
+
303
+ NameError: name 'trainer' is not defined
304
+
305
+ >>> trainer.extend(extensions.PlotReport)(['main/accuracy','validation/main/loss'],'epoch',filename='accuracy.png')
306
+
307
+ Traceback (most recent call last):
308
+
309
+ File "<stdin>", line 1, in <module>
310
+
311
+ NameError: name 'trainer' is not defined
312
+
313
+ >>> chainer.serializers.save_npz('result/out.model',model)
314
+
315
+ Traceback (most recent call last):
316
+
317
+ File "<stdin>", line 1, in <module>
318
+
319
+ NameError: name 'chainer' is not defined
320
+
321
+ >>> trainer.run
322
+
323
+ Traceback (most recent call last):
324
+
325
+ File "<stdin>", line 1, in <module>
326
+
327
+ NameError: name 'trainer' is not defined
328
+
329
+ >>> & cmd /k "C:/Users/kinmu/Anaconda3/Scripts/activate.bat & powershell"
330
+
331
+ File "<stdin>", line 1
332
+
333
+ & cmd /k "C:/Users/kinmu/Anaconda3/Scripts/activate.bat & powershell"
334
+
335
+ ^
336
+
337
+ SyntaxError: invalid syntax
338
+
339
+ >>>