March 19, 2018

这个问题无外乎有三个难点: 什么是sum 什么是reduce 什么是维度(indices, 现在均改为了axis和numpy等包一致) sum很简单,就是求和,那么问题就是2和3,让我们慢慢来讲。其实彻底讲清楚了这个问题,很多关于reduce,维度的问题都会恍然大悟。 0. 到底操作哪个维度?? sum这个操作完全可以泛化为任意函数,我们就以sum为例,来看看各种情况。 首先是一维(按照tensorflow的说法其实是0维,后面会说)就是这样 a = 1 sum(a) = 1 那么看看二维的情况,为了看的更清楚,特意写成了矩阵的形式: a = [[1,2], [3,4]] sum(a) = ??? 仔细观察,那么问题来了,sum(a)到底应该是多少?有人说,当然是[3, 7](“横着加”[[1+2],[3+4]]),有人说 不应该是[4, 6](“竖着加”[[1+3],[2+4]])吗?还有人或说,不应该是10(全加在一起)吗? 谁是对的? 都是对的。 […]