首页 > 解决方案 > 使用切片和无的张量形状修改

问题描述

我对如何阅读和理解一行简单的代码感到有些困惑:

我应该如何理解那条线的行为?似乎None是在添加一个维度,大小为 1。但是为什么要在那个特定位置(19 到 4 之间)添加这个?

标签: pythontensorflow

解决方案


确实,None增加了一个新的维度。您也可以使用tf.newaxis这个更明确的恕我直言。

新维度被添加到轴 1 中,因为它出现在索引中。例如input[:, :, None]应该产生形状 (19, 4, 1, 64, 64, 3) 等等。
如果我们在切片中写下所有维度,可能会更清楚:input[:, None, :, :, :, :]. 在切片中,:仅仅意味着获取维度的所有元素。因此,通过使用 one :,我们获取维度 0 的所有元素,然后“继续”移动到维度 1。由于None出现在这里,我们知道新的 size-1 轴应该在维度 1 中。因此,其余维度被“推回” ”。


推荐阅读