Hello Community,
I am pretty new to tensorflow even when I have done lots of trainings though. To get a better understanding, I am asking for some help with my use case:
I want to classify vectors in class a and class b.

A vector consists of 10 numerical features.
For the supervised learning the vectors are labeled as class a or class b.
Not only the content of a single vector is important to classify it to a class but also the previous 20 vectors should define, if the actual vector belongs to class a or b

My first approach looks like this:
import tensorflow as tf
import pandas as pd
import array as arr
import numpy as np

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(1, 17)), #8 oder 17
  tf.keras.layers.Dense(256, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(256, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(100)
])

x_train = tf.constant(np.genfromtxt('training_data.csv',delimiter=','))
x_label = tf.constant(np.genfromtxt('label_data.csv',delimiter=','))

predictions = model(x_train[:1]).numpy()
tf.nn.softmax(predictions).numpy()
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
loss_fn(x_label[:1], predictions).numpy()
model.compile(optimizer='adam',
              loss=loss_fn,
              metrics=['accuracy'])
model.fit(x_train, x_label, epochs=200)
model.evaluate(y_test,  y_label, verbose=2)

I think this is far too simple. I have no clue what shape or architecture the network should have. After 3 epochs there is no change on the loss function anymore. I have no idea if this approach makes any sense at all. And I have no clue how to solve requirement 3) from my use case.
Any help is deeply appreciated.
BR, Ray