2017-05-18 9 views
0

私はTorchを初めて使用しており、Torchのカスタム損失機能を作成したいと考えています。変更はClassNLLCriterionです。具体的には、ClassNLLCriterion損失は次のとおりです。TorchのClassNLLCriterionを変更する

loss(x, class) = -x[class] 

私はこれがあることを変更したい:

F(x)
loss(x, class) = -x[class] + F(x) 

は(キーとして)テーブルにxを検索し、その値を出力する関数です。

私の質問は、このカスタム基準を実装する正しい方法は何ですか。 updateOutput()機能は簡単ですが、updateGradInput()機能を実装するにはどうすればよいですか?

+1

どのようなテーブルが 'F'ですか?それは微分可能ではないようです... – fonfonx

+0

@fonfonxそうです、 'F'は微分できません。この場合、最も良い戦略は何ですか? 'F(x)'を定数として扱うのは理にかなっていますか? – braindead

+0

私はこの 'F'で何をしたいのか分かりません。私はあなたが定数として 'F'を扱うことができると思いますが、私はこの' F'関数の有用性を何とか失ってしまいます。多分 'F'に近い微分可能な関数を見つけようとするかもしれません... – fonfonx

答えて