广播是一种手段,可以让代码运行更快,这里我们深入了解一下python中的广播是如何实际运作的。

我们用一个例子来讲广播,如下图,在这个矩阵中,我们列出了来自4种100克的不同食物中碳水化合物、蛋白质和脂肪的卡路里数量。

比如说,你的目标是计算四种食物中,卡路里有多少百分比来自碳水化合物、蛋白质和脂肪,比如将第一列数字加起来就得到100克苹果中有59卡路里。

问题是,能不能不同显式for循环得到结果,我们看一下应该怎么做。

令这个矩阵等于3∗43*43∗4的矩阵A,然后用一行python代码,对各列求和,得到四个数字,对应于四种不同食物的卡路里总量,然后用第二行代码让四列每一列都除于对应的和。

代码cal=A.sum(axis=0)中axis=0意味着在矩阵的竖直方向求和,水平求和是axis=1。
代码percentage=100*A/(cal.reshape(1,4))是python广播的另一个例子,矩阵A是一个3∗43*43∗4的矩阵,将矩阵A除于一个1∗41*41∗4的矩阵。

现在详细讲解一下,这种运算时怎么执行的,有一个3∗43*43∗4的矩阵,让这个矩阵除于一个1∗41*41∗4的矩阵,怎么让一个3∗43*43∗4的矩阵除于一个1∗41*41∗4的矩阵呢?

在python广播中有一些通用规则,如果有一个m∗nm*nm∗n矩阵,然后加上或者减去或者乘于或者除于一个1∗n1*n1∗n矩阵,那么python就会把它复制n次变成m∗nm*nm∗n矩阵,然后再逐元素做加法、减法、乘法和除法。想法,如果用一个m∗nm*nm∗n矩阵,加上、减去、乘于或者除于一个m∗1m*1m∗1矩阵,那么这个矩阵就会复制n次,把它变成一个m∗nm*nm∗n矩阵,然后逐元素应用操作。

这是其中一种广播,如果有一个m∗1m*1m∗1矩阵,这其实是一个列向量,然后加上、减去、乘于或者除于一个实数,最后就是把这个实数复制n次,知道得到另一个m∗1m*1m∗1矩阵。

吴恩达深度学习 —— 2.15 python中的广播相关推荐

  1. github标星8331+:吴恩达深度学习课程资源(完整笔记、中英文字幕视频、python作业,提供百度云镜像!)...

    吴恩达老师的深度学习课程(deeplearning.ai),可以说是深度学习入门的最热门课程,我和志愿者编写了这门课的笔记,并在github开源,star数达到8331+,曾经有相关报道文章.为解决g ...

  2. 神经网络隐藏层个数怎么确定_含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业)...

    含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业): ''' 题目: 建立只有一个隐藏层的神经网络, 对于给定的一个类似于花朵的图案数据, 里面有红色(y=0)和 ...

  3. 吴恩达深度学习 | (15) 结构化机器学习项目专项课程第二周学习笔记

    课程视频 第二周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第三部分结构化机器学习项目专项的第二周课程:机器学习(ML)策略(2) . 目录 1. 进行误差分析 2. 清除标注错误 ...

  4. 深度学习入门首推资料--吴恩达深度学习全程笔记分享

    本文首发于微信公众号"StrongerTang",可打开微信搜一搜,或扫描文末二维码,关注查看更多文章. 原文链接:(https://mp.weixin.qq.com/s?__bi ...

  5. 吴恩达深度学习编程作业报错解决方法汇总

    概述及资源分享 大二结束后的暑假,学习吴恩达深度学习([双语字幕]吴恩达深度学习deeplearning.ai_哔哩哔哩_bilibili)的课程,在做编程作业的时候总是遇到一些报错,尤其是导入所需要 ...

  6. 吴恩达深度学习教程——中文笔记网上资料整理

    吴恩达深度学习笔记整理 内容为网上博主博文整理,如有侵权,请私信联系. 课程内容: Coursera:官方课程安排(英文字幕).付费用户在课程作业中可以获得作业评分,每门课程修完可获得结课证书:不付费 ...

  7. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

  8. [转载]《吴恩达深度学习核心笔记》发布,黄海广博士整理!

    红色石头 深度学习专栏 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容全面.通俗易懂并配备了丰富的实战项目.今天,给大家推荐一份关于该专项课程的核心笔记 ...

  9. 737 页《吴恩达深度学习核心笔记》发布,黄海广博士整理!

    点击上方"AI有道",选择"置顶"公众号 重磅干货,第一时间送达 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容 ...

最新文章

  1. 高级政工师具备的能力_一个合格的政工师应该具备哪些条件与素质
  2. 如何安装jdk_Java JDK下载与安装教程
  3. tbox新增stackless协程支持
  4. 《南溪的目标检测学习笔记》——深度学习的假设
  5. 通过Ant控制Hibernate操作数据库
  6. 线段树辅助——扫描线法计算矩形周长并(轮廓线)
  7. 计算机应用与篮球有关的文章,浅析计算机技术应用对高校篮球教学的作用与影响...
  8. 十天学会php chm,【div+css】十天学会div+css---第一天_html/css_WEB-ITnose
  9. x80hd装linux,台电X80HD:双系统切换的方法演示_台电 X80HD_平板电脑评测-中关村在线...
  10. NewH3C——PPP、WLAN
  11. 安全继电器原理及接法
  12. Excel使用技巧:合并单元格如何分组排序
  13. 835616-60-9,4-Fluoro-thalidomide用于补充CRBN蛋白的沙利度胺基脑啡肽配体
  14. linux展示表空间大小,oracle中看表空间大小等
  15. ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题
  16. VPS8701 电源管理(PMIC) VPS8701
  17. 汽车信息安全系列-3.TI HSM笔记(更新中)
  18. Dev-C++常用快捷键
  19. JMX : MXBean
  20. 什么是嵌入式开发?初学者必看嵌入式学习课程

热门文章

  1. 安装cockpit通过nginx代理访问
  2. 面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题
  3. DreamFactory 第9章 性能注意事项
  4. Hadoop教程(三)HDFS文件系统Shell命令
  5. MinIO Server config.json (v18) 指南
  6. oracle自定义存储过程:删除表(无论表是否存在)和检测表是否存在
  7. python标准库之smtplib,poplib,imaplib,smptd
  8. typescript 博客_如何使用Typescript自动化博客发布过程
  9. dagger2 注入_如何使用Dagger 2在您的应用程序中实现依赖注入
  10. 网络爬虫数据挖掘_我如何构建无服务器网络爬虫以大规模挖掘温哥华房地产数据...