Fractionnement du chargeur de données pytorch en tableaux numpy

En principe, j'aimerais faire le contraire de ce qui a été fait ici https://datascience.stackexchange.com/questions/45916/loading-own-train-data-and-labels-in-dataloader-using-pytorch.

J'ai un chargeur de données Pytorch train_dataloaderavec shape (2000,3). Je souhaite stocker les 3 colonnes du chargeur de données dans 3 tableaux numpy distincts. (La première colonne du chargeur de données contient les données, la deuxième colonne contient les étiquettes.)

J'ai réussi à le faire pour le dernier lot du train_dataloader(voir ci-dessous), mais malheureusement je n'ai pas pu le faire fonctionner pour l'ensemble train_dataloader.

for X, y, ind in train_dataloader:
pass
train_X = np.asarray(X, dtype=np.float32)
train_y = np.asarray(y, dtype=np.float32)

Toute aide sera la bienvenue!


Solution du problème

Vous pouvez collecter toutes les données :

all_X = []
all_y = []
for X, y, ind in train_dataloader:
all_X.append(X)
all_y.append(y)
train_X = torch.cat(all_X, dim=0).numpy()
train_y = torch.cat(all_y, dim=0).numpy()

Commentaires

Posts les plus consultés de ce blog

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables