代码之家  ›  专栏  ›  技术社区  ›  Cranjis

语言模型的困惑

  •  0
  • Cranjis  · 技术社区  · 6 年前

    在Python中解决模型困惑的最佳方法是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ayush    6 年前

    我已经提出了两个版本,并附上了相应的来源,请随时查看链接。

    def perplexity_raw(y_true, y_pred):
        """
        The perplexity metric. Why isn't this part of Keras yet?!
        https://stackoverflow.com/questions/41881308/how-to-calculate-perplexity-of-rnn-in-tensorflow
        https://github.com/keras-team/keras/issues/8267
        """
    #     cross_entropy = K.sparse_categorical_crossentropy(y_true, y_pred)
        cross_entropy = K.cast(K.equal(K.max(y_true, axis=-1),
                              K.cast(K.argmax(y_pred, axis=-1), K.floatx())),
                      K.floatx())
        perplexity = K.exp(cross_entropy)
        return perplexity
    
    def perplexity(y_true, y_pred):
        """
        The perplexity metric. Why isn't this part of Keras yet?!
        https://stackoverflow.com/questions/41881308/how-to-calculate-perplexity-of-rnn-in-tensorflow
        https://github.com/keras-team/keras/issues/8267
        """
        cross_entropy = K.sparse_categorical_crossentropy(y_true, y_pred)
        perplexity = K.exp(cross_entropy)
        return perplexity
    
    推荐文章