Passer au contenu

as_dataloader est utilisé en interne par luz pour convertir les entrées data et valid_data passés à fit.luz_module_generator() en un torch::dataloader

Utilisation

as_dataloader(x, ...)

# Méthode S3 pour la classe dataset
as_dataloader(x, ..., batch_size = 32)

# Méthode S3 pour la classe iterable_dataset
as_dataloader(x, ..., batch_size = 32)

# Méthode S3 pour la classe list
as_dataloader(x, ...)

# Méthode S3 pour la classe dataloader
as_dataloader(x, ...)

# Méthode S3 pour la classe matrix
as_dataloader(x, ...)

# Méthode S3 pour la classe numeric
as_dataloader(x, ...)

# Méthode S3 pour la classe array
as_dataloader(x, ...)

# Méthode S3 pour la classe torch_tensor
as_dataloader(x, ...)

Arguments

x

l'objet d'entrée.

...

Passé à torch::dataloader().

batch_size

(entier, facultatif) : nombre d'observations par lot (par défaut: 32).

Détails

Les méthodes as_dataloader permettent de choisir finement les paramètres par défaut pour la taille du lot, les workers parallèles, etc.

Elle permet aux utilisateurs de tester rapidement fit.luz_module_generator() sans avoir besoin de créer un torch::dataset et un torch::dataloader pour l'expérimentation.

Methods (by class)

  • as_dataloader(dataset) : Convertit un torch::dataset() en un torch::dataloader().

  • as_dataloader(iterable_dataset) : Convertit un torch::iterable_dataset() en un torch::dataloader()

  • as_dataloader(list) : Convertit une liste de tenseurs ou d'arrays ayant tous la même taille dans leur première dimension en un torch::dataloader()

  • as_dataloader(dataloader) : Retourne le même chargeur de données

  • as_dataloader(matrix) : Convertit la matrice en un chargeur de données

  • as_dataloader(numeric) : Convertit le vecteur numérique en un chargeur de données

  • as_dataloader(array) : Convertit l'array en un chargeur de données

  • as_dataloader(torch_tensor) : Convertit le tenseur en un chargeur de données

Overriding

Vous pouvez implémenter votre propre méthode S3 de as_dataloader si vous voulez que votre structure de données soit automatiquement prise en charge par luz's fit.luz_module_generator(). La méthode doit satisfaire les conditions suivantes :

  • La méthode doit retourner un torch::dataloader().

  • L'unique argument requis est `x`. Vous avez des paramètres avec de bonnes valeurs par défaut pour tous les autres arguments.

Il faut éviter l'implémentation de méthodes as_dataloader pour les classes S3 courantes comme data.frames. Si nécessaire, il est préférable d'affecter une classe S3 spécifique aux inputs et d'implémenter as_dataloader pour cette classe.