Если набор данных имеет форму (N, C), где N - это число точек данных, а C - количество каналов для одной точки данных, аргумент input_shape первого уровня должен указывать только каналы.
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(2, activation='softmax' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(S_T_S, T_L, validation_split=0.1, batch_size=20, epochs=20, shuffle='true', verbose=2)
Если число выходных классов равно двум, тогда выходной слой с одним узлом может работать лучше, чем использование слоя с двумя узлами.В этом случае активация выходного слоя должна быть изменена на сигмовидную, а потери - на двоичную кросс-энтропию.
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(1, activation='sigmoid' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_binary_crossentropy', metrics=['accuracy'])