吴恩达深度学习 —— 2.15 python中的广播
广播是一种手段,可以让代码运行更快,这里我们深入了解一下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中的广播相关推荐
- github标星8331+:吴恩达深度学习课程资源(完整笔记、中英文字幕视频、python作业,提供百度云镜像!)...
吴恩达老师的深度学习课程(deeplearning.ai),可以说是深度学习入门的最热门课程,我和志愿者编写了这门课的笔记,并在github开源,star数达到8331+,曾经有相关报道文章.为解决g ...
- 神经网络隐藏层个数怎么确定_含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业)...
含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业): ''' 题目: 建立只有一个隐藏层的神经网络, 对于给定的一个类似于花朵的图案数据, 里面有红色(y=0)和 ...
- 吴恩达深度学习 | (15) 结构化机器学习项目专项课程第二周学习笔记
课程视频 第二周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第三部分结构化机器学习项目专项的第二周课程:机器学习(ML)策略(2) . 目录 1. 进行误差分析 2. 清除标注错误 ...
- 深度学习入门首推资料--吴恩达深度学习全程笔记分享
本文首发于微信公众号"StrongerTang",可打开微信搜一搜,或扫描文末二维码,关注查看更多文章. 原文链接:(https://mp.weixin.qq.com/s?__bi ...
- 吴恩达深度学习编程作业报错解决方法汇总
概述及资源分享 大二结束后的暑假,学习吴恩达深度学习([双语字幕]吴恩达深度学习deeplearning.ai_哔哩哔哩_bilibili)的课程,在做编程作业的时候总是遇到一些报错,尤其是导入所需要 ...
- 吴恩达深度学习教程——中文笔记网上资料整理
吴恩达深度学习笔记整理 内容为网上博主博文整理,如有侵权,请私信联系. 课程内容: Coursera:官方课程安排(英文字幕).付费用户在课程作业中可以获得作业评分,每门课程修完可获得结课证书:不付费 ...
- 吴恩达深度学习笔记(四)
吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...
- [转载]《吴恩达深度学习核心笔记》发布,黄海广博士整理!
红色石头 深度学习专栏 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容全面.通俗易懂并配备了丰富的实战项目.今天,给大家推荐一份关于该专项课程的核心笔记 ...
- 737 页《吴恩达深度学习核心笔记》发布,黄海广博士整理!
点击上方"AI有道",选择"置顶"公众号 重磅干货,第一时间送达 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容 ...
最新文章
- 高级政工师具备的能力_一个合格的政工师应该具备哪些条件与素质
- 如何安装jdk_Java JDK下载与安装教程
- tbox新增stackless协程支持
- 《南溪的目标检测学习笔记》——深度学习的假设
- 通过Ant控制Hibernate操作数据库
- 线段树辅助——扫描线法计算矩形周长并(轮廓线)
- 计算机应用与篮球有关的文章,浅析计算机技术应用对高校篮球教学的作用与影响...
- 十天学会php chm,【div+css】十天学会div+css---第一天_html/css_WEB-ITnose
- x80hd装linux,台电X80HD:双系统切换的方法演示_台电 X80HD_平板电脑评测-中关村在线...
- NewH3C——PPP、WLAN
- 安全继电器原理及接法
- Excel使用技巧:合并单元格如何分组排序
- 835616-60-9,4-Fluoro-thalidomide用于补充CRBN蛋白的沙利度胺基脑啡肽配体
- linux展示表空间大小,oracle中看表空间大小等
- ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题
- VPS8701 电源管理(PMIC) VPS8701
- 汽车信息安全系列-3.TI HSM笔记(更新中)
- Dev-C++常用快捷键
- JMX : MXBean
- 什么是嵌入式开发?初学者必看嵌入式学习课程
热门文章
- 安装cockpit通过nginx代理访问
- 面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题
- DreamFactory 第9章 性能注意事项
- Hadoop教程(三)HDFS文件系统Shell命令
- MinIO Server config.json (v18) 指南
- oracle自定义存储过程:删除表(无论表是否存在)和检测表是否存在
- python标准库之smtplib,poplib,imaplib,smptd
- typescript 博客_如何使用Typescript自动化博客发布过程
- dagger2 注入_如何使用Dagger 2在您的应用程序中实现依赖注入
- 网络爬虫数据挖掘_我如何构建无服务器网络爬虫以大规模挖掘温哥华房地产数据...