I'm getting error Inputs to a layer should be tensors error when using tf.data.Dataset and the Window creation function

Let's first create a dataset compatible with your model

N = 50;
c = 1;
ds = tf.data.Dataset.from_tensor_slices(
    (
       tf.random.normal(shape=(N, c, 100)), 
       tf.random.normal(shape=(N, c))
    )
)

Then we can simply

model.fit(ds, epochs=1)

But notice that the return type of window, is not the same as the initial dataset. ds is a dataset of tuples, dsw is a tupple of _VariantDatasets

print(ds)
# <TensorSliceDataset shapes: ((1, 100), (1,)), types: (tf.float32, tf.float32)>
for dsw in ds.window(30):
  print(dsw);
  # (<_VariantDataset shapes: (1, 100), types: tf.float32>, <_VariantDataset shapes: (1,), types: tf.float32>)
  # (<_VariantDataset shapes: (1, 100), types: tf.float32>, <_VariantDataset shapes: (1,), types: tf.float32>)

What you can do to get a window of the dataset with the same type is to combine skip and take

def simple_window(ds, size):
  for start in range(0, ds.cardinality(), size):
    yield ds.skip(start).take(size)

Then you can train with different windows

for dsw in simple_window(ds, 30):
  model.fit(dsw, epochs=1)