【问题标题】:DL4J - Is there a way to restrict the prediction of a modelDL4J - 有没有办法限制模型的预测
【发布时间】:2020-03-30 10:45:49
【问题描述】:

我使用 DL4J 训练了一个 Mnist 模型。当我在推理模式下使用这个模型时:

INDArray prediction = myModel.output(myINDArrayImage);

这给了我一个INDArray 的预测,它工作正常。 这个INDArray 的大小等于我的OutputLayer 模型上的输出数。

有没有办法将预测限制为字符库? 即是这样的:

INDArray prediction = myModel.output(myINDArrayImage, charactersPossible);

charactersPossible 是可能的输出索引列表?

【问题讨论】:

    标签: deeplearning4j dl4j nd4j


    【解决方案1】:

    您可以创建一个 INDArray(使用 Nd4j.create(double[])),其中 1.0 表示可能的字符,0.0 表示不可能的字符。然后将其与预测 INDArray 相乘,然后 Nd4j.argMax 得到结果。

    【讨论】:

    • 感谢您的回复,但我的模型使用输出 Softmax 激活,因此我在实际预测中只有一种可能性。我的模型预测值在 0-9 之间,我想说他,给我最好的预测 3/5/6/8/9 个字符(例如)
    • 我提到的方法完全适用于这种情况。
    • 好的,我必须改变我的损失函数!在这种情况下,我可以使用面具
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2018-09-23
    相关资源
    最近更新 更多