Могу ли я передать изображение перцептрону?
Есть вот такой перцептрон на Python + NumPy. Могу ли я в него загружать изображения, получая изображения в ответ (Img-2-Img)?
import numpy as np
t_inputs = np.array([
[0, 0, 0, 0], # 0
[1, 0, 0, 1], # 0
[0, 1, 0, 0], # 0
[0, 0, 1, 1], # 1
[1, 0, 0, 0], # 0
[0, 0, 1, 0], # 1
[0, 1, 0, 1], # 0
[1, 0, 1, 0], # 1
[1, 1, 1, 1] # 1
])
t_outputs = np.array([[0, 0, 0, 1, 0, 1, 0, 1, 1]]).T
np.random.seed(1)
def sigmoid(x):
return 1 / (1 + np.exp(-x))
weights = 2 * np.random.random((4, 1)) - 1
for i in range(35000):
input_layer = t_inputs
outputs = sigmoid(np.dot(input_layer, weights))
err = t_outputs - outputs
adjustments = np.dot(input_layer.T, err * (outputs * (1 - outputs)))
weights += adjustments
print('Веса:')
print(weights)
print('')
print('Изначальный вход:')
print(t_inputs)
print('Изначальный выход:')
print(outputs)
test_inputs = [
np.array([1, 0, 1, 1]), # 1
np.array([1, 1, 1, 1]), # 1
np.array([0, 1, 1, 1]), # 0
np.array([0, 1, 1, 0]) # 1
]
for x in test_inputs:
output = sigmoid(np.dot(x, weights))
print('')
print('Вход:')
print(x)
print('Выход:')
print(output)