gpt4 book ai didi

python - 如何评估具有预测长度的列表? (`tensorflow.nn.top_k` 以及来自另一个模型的 `k` 数组)

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:30 32 4
gpt4 key购买 nike

我正在尝试预测给予患者的药物。对于每种药物,我在预测中有一列(通过 softmax)指示患者获得这种药物的概率。

但显然人们可以同时服用多种药物,因此我有另一个模型来尝试预测给予的不同药物的数量。

我想在一次 TensorFlow 调用中评估它们(我目前有一堆缓慢的 NumPy hack),但我无法传递 tensorflow.nn.top_k 一个 数组ks(每个患者一个,即行),只是一个固定整数 - 这不起作用,因为不同的患者将获得不同数量的药物。
最终,我尝试在实际处方的药物指数和预测的药物指数之间进行tensorflow.list_diff。然后可能是它的 tensorflow.size

tensorflow.list_diff(
tensorflow.where( # get indices of medications
tensorflow.equal(medication_correct_answers, 1) # convert 1 to True
),
tensorflow.nn.top_k( # get most likely medications
medication_soft_max, # medication model
tensorflow.argmax(count_soft_max, 1) # predicted count
)[1] # second element are the indices
)[:, 0] # get unmatched medications elements

额外问题:是否可以直接在此基础上训练模型而不是两个单独的交叉熵?对我来说,它看起来确实不可微分 - 或者只有底层的 softmax 需要可微分?

最佳答案

预测列表的长度确实是不可微分的。您需要向模型添加额外的 softmax 输出来预测列表的长度,或者添加许多 sigmoid 输出来预测应包含哪些条目。

我写了一篇关于从图像转录可变长度文本序列的论文,附录详细介绍了数学工作原理的示例: http://arxiv.org/abs/1312.6082

关于python - 如何评估具有预测长度的列表? (`tensorflow.nn.top_k` 以及来自另一个模型的 `k` 数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34247661/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com