首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度学习工程师(六)——向量化

向量化

向量化提高代码运算速度

    向量化是为了消除代码中的显式for循环的艺术,当数据集非常大的时候,代码的快速运行是一个非常非常重要的事情,不然就会花很长的时间去等待结果。

    拿我们的逻辑回归来说,如果特征向量是n维的,那么我们需要一个for循环遍历这n个特征,这种显式的for循环会让代码运行的非常慢。下面以具体的例子来说明。

    运行结果如下,可以看到,使用显式的for循环要比使用向量化技术慢200多倍,对比显而易见。经验法则就是:只要有其他可能,就不要用显示的for循环

向量化举例

    比如上图中的任务,需要求出向量中每个元素的exp(v[i]),如果使用fro循环,可以像下面这样写。

    在numpy中提供了很多的向量函数,上面的代码块可以使用下面一行代码解决,而且比使用for循环更加快速。

    再来一张图:

    逻辑回归中的计算,上面红框框中的步骤都可以使用numpy来减少显式for循环,实际上最外面的那个for循环也可以去掉,用代码一次处理整个训练集。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180608G1UET100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券