zoukankan      html  css  js  c++  java
  • Numpy中的广播(Broadcast)讲解简单易懂,困扰已久,终于想通了

    简单,清晰,一定能懂

    • 先简单谈谈什么是Numpy,就是Python中核心的科学计算包,提供高维的数组和一些工具。
    • 每次遇到广播都无法判断是否可以进行广播。想了良久,最后直接看官方文档,还是讲的简单明了。
    • 然后我们先做一步工作,至关重要,把两个数组的维度以一下形式写出或在脑海想出。也就是靠右对齐。
    A      (3d array): 256 x 256 x 3
    B      (1d array):             3
    Result (3d array): 256 x 256 x 3
    
    A      (4d array):  8 x 1 x 6 x 1
    B      (3d array):      7 x 1 x 5
    Result (4d array):  8 x 7 x 6 x 5
    
    A      (2d array):  5 x 4
    B      (1d array):      1
    Result (2d array):  5 x 4
    
    A      (2d array):  5 x 4
    B      (1d array):      4
    Result (2d array):  5 x 4
    
    A      (3d array):  15 x 3 x 5
    B      (3d array):  15 x 1 x 5
    Result (3d array):  15 x 3 x 5
    
    A      (3d array):  15 x 3 x 5
    B      (2d array):       3 x 5
    Result (3d array):  15 x 3 x 5
    
    A      (3d array):  15 x 3 x 5
    B      (2d array):       3 x 1
    Result (3d array):  15 x 3 x 5
    我们看这个例子,对齐后从右开始的第一列,
    是A对应是5和B对应是1,其中一个为1,然后第二列是3和3,所以可以进行广播。
    
    • 只需遵循两条规则:1、对应位置上数字相同,或2、其中有一个数为1。在上面的例子中,我结合一个进行讲解应该就懂了,否则不能够进行广播。
    • 给出不能广播的例子,也结合例子讲解一个:
    A      (1d array):  3
    B      (1d array):  4 # trailing dimensions do not match
    我们直接可以发现第一列3和4不同,所以不能广播
    
    A      (2d array):      2 x 1
    B      (3d array):  8 x 4 x 3 # second from last dimensions mismatched
    从右开始第一列,是A对应为1和B对应为3,是符合条件的,但是第二列A对应为2,但是B对应为4,它们中没有一个1,同时两者没有匹配。所以不能广播。
    
    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    POJ 3320 Jessica's Reading Problem
    引用参数和传值参数的区别
    IBM 的数据库Informix 常用代语法
    设计模式之原型模式
    UBoot中使用tftp下载文件出现错误TFTP error: 'Access violation' (2)的解决办法
    printf格式控制符的完整格式
    如何打印hostent结构体中的所有数据
    Informix 数据库客户端 dbvisualizer SQL Commander 乱码解决方案
    设计模式之模版方法模试
    nfs: server 192.168.37.200 not responding, still trying的解决办法
  • 原文地址:https://www.cnblogs.com/tsruixi/p/12555827.html
Copyright © 2011-2022 走看看