loss.backward()、loss.unchain_backward()の機能について調べていたのですがあまりわかりません。ディープラーニングにおける検査画像のlossの計算について以下のコードでは検査画像でも学習画像と一緒に計算していることになるのでしょうか?
opt.update()の部分でパラメータを更新することで、モデルを更新していると考えています。そのため、loss.backward()、loss.unchain_backward()を検査画像の際に実行しても問題ないのかと考えているのですが、この考えはあっておりますでしょうか?
lossの関数に関しては省略しております。
python
1 for b in range(ites): 2 x_batch, y_batch = train_get(train_lst, bsize) 3 x, y = Variable(cuda.to_gpu(x_batch)), Variable(cuda.to_gpu(y_batch)) 4 h = net(x) 5 loss = *****(x,y) 6 net.cleargrads() 7 loss.backward() 8 loss.unchain_backward() 9 opt.update() 10 train_loss_sum += loss.data 11 for b in range(ites): 12 x_batch, y_batch = test_get(test_lst, bsize) 13 x, y = Variable(cuda.to_gpu(x_batch)), Variable(cuda.to_gpu(y_batch)) 14 h = net(x) 15 loss = *****(x,y) 16 loss.backward() 17 loss.unchain_backward() 18 test_loss_sum += loss.data
あなたの回答
tips
プレビュー