Я создал функцию энергии в python, которую я применяю к png-изображению. Тем не менее, я не получаю возвращаемое значение энергии при вводе параметров. Кто-нибудь может понять, почему это так? Спасибо!Функция энергии, не возвращающая значение
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img=mpimg.imread('Image.png')
#plt.imshow(img)
#plt.show()
im=np.array(img
def E_generator(beta, eta, h):
"""Generate energy function E and localized version of E.
E = h * \sum{x_i} - beta * \sum{x_i x_j} - eta * \sum{x_i y_i}
"""
def E(x, y):
"""Calculate energy for matrices x, y.
"""
# sum of products of neighboring paris {xi, yi}
xxm = np.zeros_like(x)
xxm[:-1, :] = x[1:, :] # down
xxm[1:, :] += x[:-1, :] # up
xxm[:, :-1] += x[:, 1:] # right
xxm[:, 1:] += x[:, :-1] # left
xx = np.sum(xxm * x)
xy = np.sum(x * y)
xsum = np.sum(x)
return h * xsum - beta * xx - eta * xy
return E
y = np.array(img)
x = np.array(y)
E_generator(0,1,1)
Затем выход возвращается с: ".E>"
'E_generator' возвращает функцию' E'. Кто называет 'E'? – Pynchia
Он вышел с «E --- функцией --- и т. Д.», Просто стек не позволил мне распечатать все заявление – user4476006