卷积运算的本质,以tensorflow中VALID卷积方式为例。

时间:2023-03-09 09:52:36
卷积运算的本质,以tensorflow中VALID卷积方式为例。

卷积运算在数学上是做矩阵点积,这样可以调整每个像素上的BGR值或HSV值来形成不同的特征。从代码上看,每次卷积核扫描完一个通道是做了一次四重循环。下面以VALID卷积方式为例进行解释。

卷积运算的本质,以tensorflow中VALID卷积方式为例。

下面是python的代码:

def convolve(dateMat,kernel):
m,n = dateMat.shape
km,kn = kernel.shape
newMat = np.ones(((m - km + 1),(n - kn + 1)))
tempMat = np.ones(((km),(kn)))
for row in range(m - km + 1):
for col in range(n - kn + 1):
for m_k in range(km):
for n_k in range(kn):
tempMat[m_k,n_k] = dateMat[(row + m_k),(col + n_k)] * kernel[m_k,n_k]
newMat[row,col] = np.sum(tempMat) return newMat