0
私はTensorflowでKerasを使用しています。私はLSTM-CRF modelを作成したいので が、私はtf.contrib.crf.crf_log_likelihoodを使用して独自の損失関数を定義した:損失関数の変数をインスタンス変数に格納する方法
def loss(self, y_true, y_pred):
sequence_lengths = ... # calc from y_true
log_likelihood, transition_params = tf.contrib.crf.crf_log_likelihood(y_pred, y_true, sequence_lengths)
loss = tf.reduce_mean(-log_likelihood)
self.transition_params = transition_params
return loss
ご存知のように、CRFは、予測フェーズに移行のparamsを必要とします。そこでtransition_paramsをインスタンス変数に保存しました。セルフトランジションパララムです。
問題は、minibatch中にself.transition_paramsが更新されていないことです。私の見解によれば、それはモデルをコンパイルするときに一度だけ格納されるようです。
損失関数の変数をKerasのインスタンス変数に保存する方法はありますか?