2017-04-06 21 views
0

私はトレーニングセットでバッチ最適化を使ってネットワークをトレーニングしています。私は各トレーニングサンプルの損失を含む損失ベクトルを取得したいと思います。トーチ、バッチ最適化中にテンソル損失値を得る方法

具体的には、画像サイズ(サイズ3x64x64)をサイズ64のバッチで使用しています。したがって、私の入力はテンソルサイズ64x3x64x64です。トレーニングの間

私は

output = net:forward(input) 
loss = criterion:forward(input, target) 

lossを書く数ですが、私はこれの損失値に対応した、私のバッチ内の画像ごとに1つのエントリで(サイズ64の)テンソルを取得したいと思い正確な画像。

私の入力テンソルの最初の次元にループを持たないでループする

答えて

0

forwardメソッドは、もう1つのメソッド、つまりupdateOutputメソッドを呼び出します。このメソッドは上書きできます。例えば、MSECriterion()の場合は、THNNライブラリへの呼び出しをコメントすることでメソッドを変更し、基準をどのように機能させるかを自分で書いてください。つまり、通常の要素の賢明な減算を行い、データポイントの総数で除算する(やはり要素ワイズ)。出力をテンソルとして返します。

nnパッケージに移動した後にluarocks make rocks/[the scm file in the folder]を使用してこれを変更した後でも、nnパッケージを再コンパイルする必要があります。

+0

確かに新しいメソッドを書くことは可能ですが、私はこれを知っています:以前はやっていたことを期待していましたが、基準関数に書き直すことなくそれを行うオプションはないようです。 。 – fonfonx

関連する問題