我正在尝试根据方程 dx/dt = -x + sigma(A*y) + sigma(B*u) + bias 和 y = f(x) 在 python 中编写一个基本的 CNN(细胞神经网络)。它的工作原理如该链接的图中所示。不幸的是,我的程序无法正常工作。我使用了边缘检测模板,但我得到的只是一张较暗的灰度图像!我就是不知道问题出在哪里......这里有一些代码:
gray = img.open('lena.bmp').convert('L') #gray1 = rgb2gray(img1)
u = np.array(gray.convert('F')) #grayscale to float
m,n = gray.size #get size
z = u.copy() #copy u
def deriv(x, t): #derivertive func of x
x = np.reshape(x,(m,n))
dx = -x + Ib + Bu + Ay
return np.reshape(dx,m*n)
for s in range(5):
Bu = sig.convolve2d(u,tempB,'same') #get sigma(B*u)
y = func.fs(z) #get output y
Ay = sig.convolve2d(y,tempA,'same') #get sigma(A*y)
z = np.reshape(z,m*n) #reshape z to 1-D array
z = sint.odeint(deriv, z, time) #integrate dx/dt
z = np.reshape(z[2,:],(m,n)) #reshape z to mxn array
plt.imshow(z)
plt.show()
非常感谢。