首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CNTK classification_error()?

如何使用CNTK classification_error()?
EN

Stack Overflow用户
提问于 2017-05-01 18:38:40
回答 1查看 241关注 0票数 1

我正试图理解cntk.metrics.classification_error()的正确用法,并使用它来验证一批预测的真实性。

下面的玩具示例(基于Python文档):

代码语言:javascript
复制
import numpy as np
from cntk.metrics import classification_error

predictions = np.asarray([[1., 2., 3., 4.],[1., 2., 3., 4.],[1., 2., 3., 4.]], dtype=np.float32)
labels = np.asarray([[0., 0., 0., 1.],[0., 0., 0., 1.],[0., 0., 1., 0.]], dtype=np.float32)
classification_error(predictions, labels).eval()

得到以下结果:

代码语言:javascript
复制
array([[ 0.,  0.,  1.],
       [ 0.,  0.,  1.],
       [ 0.,  0.,  1.]], dtype=float32)

如果我想要处理一个大批,是否有一种方法可以得到一个向量,而不是一个看起来效率低下的方阵?

在调用axis时,我尝试使用classification_error()关键字,但是无论设置axis=0还是axis=1,都会得到一个空的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-02 01:57:00

这是因为CNTK试图对用户友好,并最终混淆了类型:-)您可以判断,因为分类错误甚至是不正确的。

如果添加一点输入信息,它就会得到正确的语义。

代码语言:javascript
复制
p = C.input(4)
y = C.input(4)
classification_error(p, y).eval({p:predictions, y:labels})
array([[ 0.],
       [ 0.],
       [ 1.]], dtype=float32)

我们将致力于解决这个问题,以防止混乱。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43724485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档