LSTM time-series forecasting with datasets as multiple independent CSV files

Hello. I am trying to train an LSTM model that can predict/forecast one target using 5 features as network input. My datasets are in CSV files; each file represents an independent scenario that starts from t = 0 s to t = 100 s with a time step of 1 s; which means I cannot stack them together sequentially. For example, let’s say I have 50 CSV files, then each file will have 100 rows (representing the time steps) with a total of 6 columns (5 features + 1 target). In other words, each file is a 2-D matrix of size (100 * 6).

My goal is to use an LSTM to receive a sequence of the 5 features (e.g., seq_length=5) as input and predict/forecast one future value of the target at a time starting from t = 0 to t = 100. I am going to split the 50 datasets into training, validation, and testing sets. My questions are:

  1. How can I efficiently create Pytorch DataSet and DataLoader for the training sets?

  2. Is it reasonable to create a Pytorch DataSet and DataLoader for each training file and then loop
    through all train files one at a time? Accumulating the loss after each training file, then taking the
    average once all training files have been used?

  3. Since all my data are time-series data (functions of time), should I or should I not use
    shuffle=True when using DataLoader?

I am a beginner in ML and have a basic background in such topics. If my questions are unclear or need clarification, please let me know. Any feedback is much appreciated, thanks in advance!