while train_iterator.epoch<MAX_EPOCH: #学習データセットを反復子から取り出す train_dataset=train_iterator.next() #学習データを学習データと教師ラベルデータにアンパック train_data,teacher_labels=concat_examples(train_dataset) #モデルにかけて、予測値の計算 prediction_train=model(train_data) #得られた予測値と教師ラベルデータと比較して、学習誤差の計算をする loss=F.softmax_cross_entropy(prediction_train,teacher_labels) #ニューラルネットワークの中の勾配を計算します model.cleargrads() #誤差を逆伝播する loss.backward() #誤差を反映して、パラメータを更新する optimizer.update() #一回学習(epoch)が終わったら検証データに対する予測精度を計ります if train_iterator.is_new_epoch: testEpoch(train_iterator,loss)
学習回数:01-->学習誤差:0.50検証誤差:0.5114検証精度:0.88
検証誤差:0.4885検証精度:0.90
検証誤差:0.4978検証精度:0.89
検証誤差:0.5168検証精度:0.88
検証誤差:0.5342検証精度:0.87
検証誤差:0.5556検証精度:0.85
検証誤差:0.5611検証精度:0.85
検証誤差:0.5474検証精度:0.86
検証誤差:0.5362検証精度:0.86
検証誤差:0.5414検証精度:0.86
検証誤差:0.5422検証精度:0.86
検証誤差:0.5513検証精度:0.86
検証誤差:0.5761検証精度:0.85
検証誤差:0.5753検証精度:0.85
検証誤差:0.5760検証精度:0.85
検証誤差:0.5803検証精度:0.85
検証誤差:0.5814検証精度:0.85
検証誤差:0.5903検証精度:0.85
検証誤差:0.5872検証精度:0.85
検証誤差:0.5852検証精度:0.85
検証誤差:0.5914検証精度:0.85
検証誤差:0.6007検証精度:0.85
検証誤差:0.6023検証精度:0.85
検証誤差:0.6001検証精度:0.85
検証誤差:0.5970検証精度:0.85
検証誤差:0.5965検証精度:0.85
検証誤差:0.5970検証精度:0.85
検証誤差:0.5938検証精度:0.85
検証誤差:0.5881検証精度:0.85
検証誤差:0.5883検証精度:0.85
検証誤差:0.5836検証精度:0.85
検証誤差:0.5831検証精度:0.85
検証誤差:0.5812検証精度:0.85
検証誤差:0.5805検証精度:0.85
検証誤差:0.5781検証精度:0.85
検証誤差:0.5806検証精度:0.85
検証誤差:0.5770検証精度:0.85
検証誤差:0.5819検証精度:0.85
検証誤差:0.5870検証精度:0.85
検証誤差:0.5872検証精度:0.85
検証誤差:0.5861検証精度:0.85
検証誤差:0.5857検証精度:0.85
検証誤差:0.5879検証精度:0.85
検証誤差:0.5883検証精度:0.85
検証誤差:0.5898検証精度:0.85
検証誤差:0.5885検証精度:0.85
検証誤差:0.5870検証精度:0.85
検証誤差:0.5856検証精度:0.85
検証誤差:0.5888検証精度:0.85
検証誤差:0.5884検証精度:0.85
検証誤差:0.5846検証精度:0.85
検証誤差:0.5800検証精度:0.85
検証誤差:0.5756検証精度:0.85
検証誤差:0.5690検証精度:0.85
検証誤差:0.5623検証精度:0.86
検証誤差:0.5579検証精度:0.86
検証誤差:0.5565検証精度:0.86
検証誤差:0.5532検証精度:0.86
検証誤差:0.5515検証精度:0.86
検証誤差:0.5509検証精度:0.86
検証誤差:0.5511検証精度:0.86
検証誤差:0.5485検証精度:0.86
検証誤差:0.5419検証精度:0.86
検証誤差:0.5374検証精度:0.86
検証誤差:0.5339検証精度:0.86
検証誤差:0.5347検証精度:0.86
検証誤差:0.5351検証精度:0.86
検証誤差:0.5356検証精度:0.86
検証誤差:0.5331検証精度:0.86
検証誤差:0.5301検証精度:0.86
検証誤差:0.5264検証精度:0.87
検証誤差:0.5242検証精度:0.87
検証誤差:0.5225検証精度:0.87
検証誤差:0.5184検証精度:0.87
検証誤差:0.5195検証精度:0.87
検証誤差:0.5177検証精度:0.87
検証誤差:0.5154検証精度:0.87
検証誤差:0.5119検証精度:0.87
検証誤差:0.5125検証精度:0.87
検証誤差:0.5097検証精度:0.87
検証誤差:0.5072検証精度:0.87
検証誤差:0.5050検証精度:0.87
検証誤差:0.5043検証精度:0.87
検証誤差:0.5023検証精度:0.88
検証誤差:0.5000検証精度:0.88
検証誤差:0.4979検証精度:0.88
検証誤差:0.4945検証精度:0.88
検証誤差:0.4901検証精度:0.88
検証誤差:0.4864検証精度:0.88
検証誤差:0.4833検証精度:0.88
検証誤差:0.4848検証精度:0.88
検証誤差:0.4826検証精度:0.88
検証誤差:0.4814検証精度:0.88
検証誤差:0.4788検証精度:0.88
検証誤差:0.4768検証精度:0.88
検証誤差:0.4752検証精度:0.88
検証誤差:0.4761検証精度:0.88
検証誤差:0.4794検証精度:0.88
検証誤差:0.4814検証精度:0.88
AttributeError Traceback (most recent call last)
<ipython-input-22-e885206495e7> in <module>()
21 #一回学習(epoch)が終わったら検証データに対する予測精度を計ります
22 if train_iterator.is_new_epoch:
---> 23 testEpoch(train_iterator,loss)
<ipython-input-19-cc2b39f6b0fe> in testEpoch(train_iterator, loss)
24
25 if test_iterator.is_new_epoch:
---> 26 test_iterator.epoch=0
27 test_iterator.current_position=0
28 test_iterator.is_new_epoch=False
AttributeError: can't set attribute
解決策がわかりません
回答1件
あなたの回答
tips
プレビュー