我有一个可能很简单的问题,就是在对多维数组执行数学运算时,如何理解冒号运算符。
下面是两个我对实际发生的事情感到困惑的例子:
dx[:,r:H,c:W] += dout[depth, r, c] * w[depth,:,:,:]
在本例中,我们处理的是一个数组
dx
形状的
(channels, height, width)
. 例如rgb图像。
dout
是相似的,但是通道、行和列的数量不同于
DX
.
w
有形状
(num, channels, height, width)
哪里
channels
等于
渠道
在里面
DX
.
杜特
的
渠道
等于
W
的
num
.
dw[depth,:,:,:] += dout[depth,r,c] * x[:,r:r+HH,c+WW]
在这里
dw
形状与
W
从上一个例子。
杜特
也可以从前面的示例中得知。
x
类似于
杜特
但它是
渠道
等于
数据仓库
的
渠道
.
我知道在执行这样的操作时,单个值会发生什么。我的意思是,这通常只是不同张量之间的卷积,但是我现在很困惑如何用for循环来表达。