# import libraries
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
# определяем модель
model = Sequential()
model.add(Dense(units=2, activation='relu', input_dim=2))
model.add(Dense(units=4, activation='relu'))
model.add(Dense(units=1, activation='relu'))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
# создание набора данных
def create_data(n):
values = np.random.random_sample((n,2,))
labels = np.prod(a=values, axis=1)
return values, labels
# тренировочные данные и тренировка модели
values, labels = create_data(1000)
model.fit(values, labels, epochs=10, batch_size=10)
# тестовые данные и как посчитает их модель
test_values, test_labels = create_data(5000)
results = model.predict(test_values, batch_size=2)
# проверим, насколько ошиблись
sq_error = []
for i in range(0, len(test_values)):
sq_error.append( np.square(results[i][0] - test_labels[i]))
print('Total rmse error: ', np.sqrt(np.sum(np.array(sq_error))))
# Total rmse error: 5.101393144138632