Каков правильный способ ввода «нормального» вектора в MLP и получения * одного * выходного значения в результате?

#python #keras #multidimensional-array #deep-learning

#python #keras #многомерный массив #глубокое обучение

Вопрос:

Я построил эту простую нейронную сеть в Keras, однако я не понимаю вывода определенных входных векторов. Для иллюстрации:

 X = np.array([1,2,3,4,5])

#Reshape to be 2D:
X = X.reshape(1,-1)

# Create the model
model_mlp = Sequential()
model_mlp.add(Dense(5, input_shape=(X.shape[0],X.shape[1]), activation='relu'))
model_mlp.add(Dense(3, activation='relu'))
model_mlp.add(Dense(1, activation='sigmoid'))

print(model_mlp(X))
  

Мы передаем (1,5) многомерный тензор в MLP, который, как и ожидалось, выводит одно значение при прямом проходе. Однако, если мы изменим форму тензора, чтобы быть (5,1) , прямой проход выводит 5 значений. Как это может быть?

Как правильно ввести «нормальный» вектор в MLP и получить в результате одно выходное значение?

Спасибо

Комментарии:

1. Ваша проблема в том, что первое измерение — это количество выборок, поэтому (1,5) и (5,1) — это не одно и то же

2. Спасибо за ваш комментарий @Dr.Snoopy! Это уже все мне разъяснило!