lfz / DSB2017

The solution of team 'grt123' in DSB2017
MIT License
1.23k stars 420 forks source link

trainval_classifier.py的问题 #98

Open Carl-Lei opened 5 years ago

Carl-Lei commented 5 years ago

@lfz 请问下面一段代码是什么意思啊 tpn += np.sum(1==pred[ydata==1]) fpn += np.sum(1==pred[ydata==0]) fnn += np.sum(0==pred[ydata==1])

程序运行到这的时候报错: IndexError: too many indices for array

调试的时候显示

ydata=array([[0],[1],[1],[1]]) pred=array([ True, True, True, True], dtype=bool)

ydata==1得到 array([[False],[ True],[ True],[ True]], dtype=bool)

pred[ydata==1]得到上述错误

在pred[ydata==1]这里是要执行什么操作呢?

zhan-zhang commented 5 years ago

算metrics的

Carl-Lei commented 5 years ago

算metrics的

ydata是二维的,而pred是一维的,是要把ydata转为一维的再比较吗?例如上面 ydata=array([[0],[1],[1],[1]]),是要转为array([0,1,1,1])的吧?谢谢

zhan-zhang commented 5 years ago

可以这么理解 更确切的说法是把ydata里对应label1的值的位置取出来

anruoxi123 commented 5 years ago

请问这个问题解决了吗,我也遇到了同样的问题。

wayneguo279 commented 5 years ago

ydata=ydata.reshape(-1)