Я пытался разобраться с этим, но, будучи новичком, я просто не могу понять это правильно.
Я следовал примеру с сайта Джейсона Браунли и модифицировал исходный код для работы над моим, который имеет 3 входа и выхода.
Код:
# load pima indians dataset
dataset = numpy.loadtxt("S1020_data.csv", delimiter=",")
# split into input and output variables
X = dataset[:,0:3]
Y = dataset[:,3:6]
# split into 67% for train and 33% for test
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=seed)
# create model
model = Sequential()
model.add(Dense(12, input_dim=3, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(3, activation='relu'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the model
model.fit(X_train, y_train, validation_data=(X_test,y_test), epochs=10, batch_size=1000)
# evaluate the model
scores = model.evaluate(X, Y)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
Я получил некоторые результаты:
Epoch 10/10 48885/48885 [======= =======================] - 0s 2us / step - потеря: 3.9213 - точность: 0.0000e + 00 - val_loss: 3.8960 - val_accuracy: 0.0000e + 00 72963/72963 [=====================================] - 1 с 13 мкс / шаг
точность: 0,00 %
Но я не могу получить точность или MSE для 3 выходов. Кроме того, мои входы и выходы - AOA, x, y и u, v, p. Как я могу включить имена переменных в распечатку?
Кстати, я тоже пробовал это, но это тоже не может работать:
#Start defining the input tensor:
input_data = layers.Input(shape=(3,))
#create the layers and pass them the input tensor to get the output tensor:
hidden1Out = Dense(units=12, activation='relu')(input_data)
hidden2Out = Dense(units=8, activation='relu')(hidden1Out)
finalOut = Dense(units=3, activation='relu')(hidden2Out)
#define the model's start and end points
model = Model(input_data = [angle, x, y],finalOut = [u, v, p])
Спасибо!