я написал код,
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
from tensorflow import keras
from tensorflow.keras import layers
from matplotlib import pyplot as plt
from PIL import Image
import numpy as np
im = Image.open("im.png")
im = im.convert('RGB')
im = im.resize((128, 128))
im = np.array(im) / 255.0
im = im.flatten()
print(len(im))
im2 = Image.open("im2.png")
im2 = im2.convert('RGB')
im2 = im2.resize((128, 128))
im2 = np.array(im2) / 255.0
im2 = im2.flatten()
print(len(im2))
c = np.array([[1,1],[0,0]])
f = np.array([[im],[im2]])
model = tf.keras.Sequential()
model.add(keras.Input(shape=(2,)))
model.add(layers.Dense(2, activation='sigmoid'))
model.add(layers.Dense(49152, use_bias=False, activation=None))
model.compile(loss='mean_squared_error', optimizer=keras.optimizers.Adam(0.2))
model.summary()
history = model.fit(c, f, epochs=500)
print("Обучение завершено")
model.save("my_model")
im3 = model.predict([[1,1]])
im3 = np.reshape(im3, (128, 128, 3 ))
plt.imshow(im3, interpolation='nearest')
plt.show()
im3 = model.predict([[0,0]])
im3 = np.reshape(im3, (128, 128, 3 ))
plt.imshow(im3, interpolation='nearest')
plt.show()
plt.plot(history.history['loss'])
plt.grid(True)
plt.show()
после обучения, картинки просто наклыдываются друг на друга.
как мне сделать так чтобы нейросеть могла выдавать разные изображения?