Torch_EEG_plants_electrophy.../datasettransform.py
2026-05-13 11:39:59 +02:00

43 lines
1.3 KiB
Python

# TRANSFORME LES FICHIERS .TXT EN MATRICE 8x512, CE SCRIPT EST UTILISE DANS TRAINDATA.PY
import torch
from torch.utils.data import DataLoader, TensorDataset
import numpy as np
import os
train_batch_size = 16
data_dir = "C:/DATA/M1/Stages/Fablab/Dataset"
LST2 = []
label = []
for ID, sub_dir in enumerate(os.listdir(data_dir)):
for file in os.listdir(os.path.join(data_dir, sub_dir)):
label.append(ID)
f = open(os.path.join(data_dir, sub_dir, file), 'r+')
lst_f = []
for i in f:
i = i.replace('\n', '')
lst_f.append(int(i))
# matrice = np.array(lst_f).reshape(8, 512)
# LST_2D.append(matrice)
matrice = np.array(lst_f[:4096]).reshape(8, 512)
LST2.append(matrice)
# X devient (nombre de fichiers, channel, listes, données), avec 1 pour le canal d'entrée requis par EEGNet
X = torch.Tensor(np.array(LST2)).unsqueeze(1)
Y = torch.LongTensor(label)
# créer le DataLoader
dataset = TensorDataset(X, Y)
data_loader = DataLoader(dataset, batch_size=train_batch_size, shuffle=True)
print(f' Longueur de la liste: {len(LST2)}')
print(f' Nombre de fichiers: {len(label)}')
print(f' Forme de la liste des tensor: {X.shape}')
print("train batch size:",data_loader.batch_size,
", num of batch:", len(data_loader))