gpt4 book ai didi

python - keras 后端 Proba 到分类

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:05 25 4
gpt4 key购买 nike

我正在使用 keras 后端来构建自定义指标。第一步是将概率张量(softmax 的输出)转换为分类数据例如:

from keras import backend as K
y_pred = K.variable([[0.7, 0.2, 0.1],[0.2, 0.8, 0],[0.2,0.2,0.6],[0.9,0.05,0.05]])
K.eval(y_pred)

给予

array([[ 0.69999999,  0.2       ,  0.1       ],
[ 0.2 , 0.80000001, 0. ],
[ 0.2 , 0.2 , 0.60000002],
[ 0.89999998, 0.05 , 0.05 ]], dtype=float32)

我想得到:

array([[ 1,  0,  0],
[ 0, 1, 0],
[ 0, 0, 1],
[ 1, 0, 0]], dtype=float32)

我找到了 K.argmax 函数,但不知道如何使用它来替换张量中的值。

max_index = K.cast(K.argmax(y_pred, 1), "int32")
lol_index = K.arange(y_pred.shape[0], dtype="int32")
y_pred[index, max_index]

给出:

ValueError: Shape must be rank 1 but is rank 2 for 'strided_slice_32' (op: 'StridedSlice') with input shapes: [4,3], [2,4], [2,4], [2].

最佳答案

好吧,经过一番研究,我找到了解决方案:

K.one_hot(K.argmax(y_pred), 3)

关于python - keras 后端 Proba 到分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44564634/

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