TensorFlow与NumPy的广播规则如何深层次探究?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1685个文字,预计阅读时间需要7分钟。
在Tensorflow使用过程中,我们常遇到数组形状各异的情况。有时尽管双方形状不同,仍能进行加减乘除运算。这背后,其实是Tensorflow的广播机制帮了大忙。
在使用Tensorflow的过程中,我们经常遇到数组形状不同的情况,但有时候发现二者还能进行加减乘除的运算,在这背后,其实是Tensorflow的broadcast即广播机制帮了大忙。而Tensorflow中的广播机制其实是效仿的numpy中的广播机制。本篇,我们就来一同研究下numpy和Tensorflow中的广播机制。
1、numpy广播原理
1.1 数组和标量计算时的广播
标量和数组合并时就会发生简单的广播,标量会和数组中的每一个元素进行计算。
举个例子:
arr = np.arange(5) arr * 4
得到的输出为:
array([ 0, 4, 8, 12, 16])
这个是很好理解的,我们重点来研究数组之间的广播
1.2 数组之间计算时的广播
用书中的话来介绍广播的规则:两个数组之间广播的规则:如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相等或其中一方的长度为1,则认为他们是广播兼容的,广播会在缺失和(或)长度为1的维度上进行。
本文共计1685个文字,预计阅读时间需要7分钟。
在Tensorflow使用过程中,我们常遇到数组形状各异的情况。有时尽管双方形状不同,仍能进行加减乘除运算。这背后,其实是Tensorflow的广播机制帮了大忙。
在使用Tensorflow的过程中,我们经常遇到数组形状不同的情况,但有时候发现二者还能进行加减乘除的运算,在这背后,其实是Tensorflow的broadcast即广播机制帮了大忙。而Tensorflow中的广播机制其实是效仿的numpy中的广播机制。本篇,我们就来一同研究下numpy和Tensorflow中的广播机制。
1、numpy广播原理
1.1 数组和标量计算时的广播
标量和数组合并时就会发生简单的广播,标量会和数组中的每一个元素进行计算。
举个例子:
arr = np.arange(5) arr * 4
得到的输出为:
array([ 0, 4, 8, 12, 16])
这个是很好理解的,我们重点来研究数组之间的广播
1.2 数组之间计算时的广播
用书中的话来介绍广播的规则:两个数组之间广播的规则:如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相等或其中一方的长度为1,则认为他们是广播兼容的,广播会在缺失和(或)长度为1的维度上进行。

