当你编写新的网络时,或者做的只是回归,一定要尽量避免for循环,能不用就不用。如果可以使用一个内置函数或者找出其它办法去计算循环,通常会比直接用for循环更快,来看另一个例子。

如果想计算一个向量u,作为一个矩阵A和另一个向量v的乘积。矩阵乘法的定义就是ui=jAijvju_i=\sum_jA_{ij}*v_j,令u=np.zeros(n,1)u=np.zeros(n,1),然后对i循环,对j循环,计算出u的值,这是一个非向量化的过程。

向量化的实现就是说u=np.dot(A,v)u=np.dot(A,v),类似的例子还有很多。我们看看怎么将向量化表示应用到逻辑回归中。
吴恩达深度学习 —— 2.12 向量化的更多例子
上图是逻辑回归导数的程序,有两个for循环,通过向量化的表示,可以去掉其中的第二个for循环。具体如下图所示。
吴恩达深度学习 —— 2.12 向量化的更多例子

相关文章: